# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.


# Purpose: This test case verifies that the DUT accepts ascii and non-ascii
# type characters as the SSID

{ "name":"NonAscii_SSID",
  "steps":[
    [ "create",         { "type":"hostap" } ],

    [ "config",         { "channel":"2412", "mode":"11g" }],

    # Ascii characters from 0x20 to 0xff skipping the following characters
    # '\x21' ('!') character because bash had parsing issues with ssh command
    # '\x60' ('`') character because bash also had parsing issues
    # '\x7f' because that's the Del character
    [ "config",         { "ssid" : "\x20\x22\x23\x24\x25\x26\x27\x28\x29\x2a"
                                   "\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33\x34"
                                   "\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d\x3e"
                                   "\x3f" } ],
    # backslash ('\x5c') is needed to escape the trailing double quote ('\x22')
    # so that the full ssid value is parsed correctly in WiFiTest.connect()
    [ "connect",        { "ssid" : "\x20\x5c\x22\x23\x24\x25\x26\x27\x28\x29"
                                   "\x2a\x2b\x2c\x2d\x2e\x2f\x30\x31\x32\x33"
                                   "\x34\x35\x36\x37\x38\x39\x3a\x3b\x3c\x3d"
                                   "\x3e\x3f",
                          "security":"none" } ],
    [ "client_ping",    { "count": "10" } ],
    [ "disconnect" ],
    [ "deconfig" ],


    [ "config",         { "ssid" : "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49"
                                   "\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53"
                                   "\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d"
                                   "\x5e\x5f" } ],
    [ "connect",        { "ssid" : "\x40\x41\x42\x43\x44\x45\x46\x47\x48\x49"
                                   "\x4a\x4b\x4c\x4d\x4e\x4f\x50\x51\x52\x53"
                                   "\x54\x55\x56\x57\x58\x59\x5a\x5b\x5c\x5d"
                                   "\x5e\x5f",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],


    [ "config",         { "ssid" : "\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a"
                                   "\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74"
                                   "\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e",
                                   } ],
    [ "connect",        { "ssid" : "\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a"
                                   "\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74"
                                   "\x75\x76\x77\x78\x79\x7a\x7b\x7c\x7d\x7e",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    [ "config",         { "ssid" : "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89"
                                   "\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93"
                                   "\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d"
                                   "\x9e\x9f" } ],
    [ "connect",        { "ssid" : "\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89"
                                   "\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93"
                                   "\x94\x95\x96\x97\x98\x99\x9a\x9b\x9c\x9d"
                                   "\x9e\x9f",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],


    [ "config",         { "ssid" : "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9"
                                   "\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3"
                                   "\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd"
                                   "\xbe\xbf" } ],
    [ "connect",        { "ssid" : "\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa9"
                                   "\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3"
                                   "\xb4\xb5\xb6\xb7\xb8\xb9\xba\xbb\xbc\xbd"
                                   "\xbe\xbf",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],


    [ "config",         { "ssid" : "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9"
                                   "\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3"
                                   "\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd"
                                   "\xde\xdf" } ],
    [ "connect",        { "ssid" : "\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9"
                                   "\xca\xcb\xcc\xcd\xce\xcf\xd0\xd1\xd2\xd3"
                                   "\xd4\xd5\xd6\xd7\xd8\xd9\xda\xdb\xdc\xdd"
                                   "\xde\xdf",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    [ "config",         { "ssid" : "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9"
                                   "\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3"
                                   "\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd"
                                   "\xfe\xff" } ],
    [ "connect",        { "ssid" : "\xe0\xe1\xe2\xe3\xe4\xe5\xe6\xe7\xe8\xe9"
                                   "\xea\xeb\xec\xed\xee\xef\xf0\xf1\xf2\xf3"
                                   "\xf4\xf5\xf6\xf7\xf8\xf9\xfa\xfb\xfc\xfd"
                                   "\xfe\xff",
                          "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    # Using valid Unicode characters only as SSID
    [ "config",         { "ssid" : "中国"} ],
    [ "connect",        { "ssid" : "中国", "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    # Using a single extended ASCII character (a-grave) as SSID
    [ "config",         { "ssid" : "\xe0"} ],
    [ "connect",        { "ssid" : "\xe0", "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    # Using mix of ASCII and Unicode characters as SSID
    [ "config",         { "ssid" : "Chrome笔记本\xff"} ],
    [ "connect",        { "ssid" : "Chrome笔记本\xff", "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    [ "destroy" ],
  ],
}
