| Test that URL username and password accessors encode/decode correctly |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| |
| Basic syntax |
| PASS build('user').toString() is "http://user@www.apple.com/" |
| PASS build('user').username is "user" |
| PASS build('%').toString() is "http://%@www.apple.com/" |
| PASS build('%').username is "%" |
| PASS build('%%').toString() is "http://%%@www.apple.com/" |
| PASS build('%%').username is "%%" |
| PASS build('%z').toString() is "http://%z@www.apple.com/" |
| PASS build('%z').username is "%z" |
| PASS build('%61').toString() is "http://%61@www.apple.com/" |
| PASS build('%61').username is "%61" |
| PASS build('%40').toString() is "http://%40@www.apple.com/" |
| PASS build('%40').username is "%40" |
| |
| Simple encode set |
| PASS build('').toString() is "http://%07%7F@www.apple.com/" |
| PASS build('user', '').toString() is "http://user:%07%7F@www.apple.com/" |
| |
| Default encode set additions |
| PASS build(' "#><?`').toString() is "http://%20%22%23%3E%3C%3F%60@www.apple.com/" |
| PASS build('user', ' "#><?`').toString() is "http://user:%20%22%23%3E%3C%3F%60@www.apple.com/" |
| |
| Password encode set additions |
| PASS build('/@\\').toString() is "http://%2F%40%5C@www.apple.com/" |
| PASS build('user', '/@\\').toString() is "http://user:%2F%40%5C@www.apple.com/" |
| ':' shouldn't be encoded in the password per the URL Standard, although both Firefox and Chrome encode it |
| FAIL build('user', ':').toString() should be http://user::@www.apple.com/. Was http://user:%3A@www.apple.com/. |
| |
| Username encode set addition |
| PASS build(':').toString() is "http://%3A@www.apple.com/" |
| |
| 8-bit |
| PASS build('юзер', 'пароль').toString() is "http://%D1%8E%D0%B7%D0%B5%D1%80:%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C@www.apple.com/" |
| PASS build('юзер').username is "%D1%8E%D0%B7%D0%B5%D1%80" |
| PASS build('user', 'пароль').password is "%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8C" |
| |
| Some special characters that don't get encoded when used in credentials |
| PASS build('!$&*()-+~').toString() is "http://!$&*()-+~@www.apple.com/" |
| |
| Some characters that shouldn't be encoded per the URL Standard, although both Firefox and Chrome encode them |
| FAIL build('^{|}[]=').toString() should be http://^{|}[]=@www.apple.com/. Was http://%5E%7B%7C%7D%5B%5D%3D@www.apple.com/. |
| PASS successfullyParsed is true |
| Some tests failed. |
| |
| TEST COMPLETE |
| |