# 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
    #     '!' character because bash had parsing issues with the ssh command
    #     '`' 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"} ],
    [ "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 a valid Unicode Character
    [ "config",         { "ssid" : "中国"} ],
    [ "connect",        { "ssid" : "中国", "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    # Using short SSID
    [ "config",         { "ssid" : "\xe0"} ],
    [ "connect",        { "ssid" : "\xe0", "security":"none" } ],
    [ "client_ping",    { "count":"10" } ],
    [ "disconnect" ],
    [ "deconfig" ],

    [ "destroy" ],
  ],
}
