WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
161191
[mac-wk1] LayoutTest imported/w3c/web-platform-tests/url/url-setters.html failing
https://bugs.webkit.org/show_bug.cgi?id=161191
Summary
[mac-wk1] LayoutTest imported/w3c/web-platform-tests/url/url-setters.html fai...
Ryan Haddad
Reported
2016-08-25 08:56:00 PDT
LayoutTest imported/w3c/web-platform-tests/url/url-setters.html failing This test has been failing on mac-wk1 since it was imported as part of
https://bugs.webkit.org/show_bug.cgi?id=161177
https://build.webkit.org/results/Apple%20El%20Capitan%20Release%20WK1%20(Tests)/r204958%20(9135)/results.html
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=imported%2Fw3c%2Fweb-platform-tests%2Furl%2Furl-setters.html
--- /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/url/url-setters-expected.txt +++ /Volumes/Data/slave/elcapitan-release-tests-wk1/build/layout-test-results/imported/w3c/web-platform-tests/url/url-setters-actual.txt @@ -21,4 +21,107 @@ PASS Setting <
http://:secret@example.net
>.username = 'me' PASS Setting <
http://me@example.net
>.username = '' PASS Setting <
http://me:secret@example.net
>.username = '' -FAIL Setting <
http://example.net
>.username = ' \ No newline at end of file +FAIL Setting <
http://example.net
>.username = '� + + !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set. assert_equals: expected "
http://%00%01%09%0A%0D%1F%20!%22%23$%&'()*+,-.%2F09%3A%3B%3C%3D%3E%3F%40AZ%5B%5C%5D%5E_%60az%7B%7C%7D~%7F%C2%80%C2%81%C3%89%C3%A9@example.net/
" but got "
http://%00%01%09%0A%0D%1F%20!%22%23$%&'()*+,-.%2F09%3A;%3C=%3E%3F%40AZ[%5C]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9@example.net/
" +PASS Setting <
http://example.net
>.username = '%c3%89té' Bytes already percent-encoded are left as-is. +FAIL Setting <file:///home/me/index.html>.password = 'secret' No host means no password assert_equals: expected "file:///home/me/index.html" but got "file://:secret@/home/me/index.html" +FAIL Setting <unix:/run/foo.socket>.password = 'secret' No host means no password assert_equals: expected "unix:/run/foo.socket" but got "unix://:secret@/run/foo.socket" +FAIL Setting <
mailto:me@example.net
>.password = 'secret' Cannot-be-a-base means no password assert_equals: expected "
mailto:me@example.net
" but got "mailto://:secret@
me@example.net
" +PASS Setting <
http://example.net
>.password = 'secret' +PASS Setting <
http://me@example.net
>.password = 'secret' +PASS Setting <
http://:secret@example.net
>.password = '' +PASS Setting <
http://me:secret@example.net
>.password = '' +FAIL Setting <
http://example.net
>.password = '� + + !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' UTF-8 percent encoding with the userinfo encode set. assert_equals: expected "
http://:%00%01%09%0A%0D%1F%20!%22%23$%&'()*+,-.%2F09%3A%3B%3C%3D%3E%3F%40AZ%5B%5C%5D%5E_%60az%7B%7C%7D~%7F%C2%80%C2%81%C3%89%C3%A9@example.net/
" but got "
http://:%00%01%09%0A%0D%1F%20!%22%23$%&'()*+,-.%2F09:;%3C=%3E%3F%40AZ[%5C]^_%60az{|}~%7F%C2%80%C2%81%C3%89%C3%A9@example.net/
" +PASS Setting <
http://example.net
>.password = '%c3%89té' Bytes already percent-encoded are left as-is. +PASS Setting <
mailto:me@example.net
>.host = 'example.com' Cannot-be-a-base means no host +PASS Setting <data:text/plain,Stuff>.host = 'example.net' Cannot-be-a-base means no password +PASS Setting <
http://example.net
>.host = 'example.com:8080' +FAIL Setting <
http://example.net:8080
>.host = 'example.com' Port number is unchanged if not specified in the new value assert_equals: expected "
http://example.com:8080/
" but got "
http://example.com/
" +FAIL Setting <
http://example.net:8080
>.host = 'example.com:' Port number is unchanges if empty in the new value. Note: this may change, see
https://github.com/whatwg/url/pull/113
assert_equals: expected "
http://example.com:8080/
" but got "
http://example.com:0/
" +PASS Setting <
http://example.net
>.host = '' The empty host is not valid for special schemes +FAIL Setting <view-source+
http://example.net/foo
>.host = '' The empty host is OK for non-special schemes assert_equals: expected "view-source+
http:///foo
" but got "view-source+
http://example.net/foo
" +PASS Setting <a:/foo>.host = 'example.net' Path-only URLs can gain a host +FAIL Setting <
http://example.net
>.host = '0x7F000001:8080' IPv4 address syntax is normalized assert_equals: expected "
http://127.0.0.1:8080/
" but got "
http://0x7f000001:8080/
" +FAIL Setting <
http://example.net
>.host = '[::0:01]:2' IPv6 address syntax is normalized assert_equals: expected "
http://[::1]:2/
" but got "
http://[:0/
" +PASS Setting <
http://example.net
>.host = 'example.com:80' Default port number is removed +PASS Setting <
https://example.net
>.host = 'example.com:443' Default port number is removed +PASS Setting <
https://example.net
>.host = 'example.com:80' Default port number is only removed for the relevant scheme +FAIL Setting <
http://example.net/path
>.host = 'example.com/stuff' Stuff after a / delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/stuff/path
" +PASS Setting <
http://example.net/path
>.host = 'example.com:8080/stuff' Stuff after a / delimiter is ignored +FAIL Setting <
http://example.net/path
>.host = 'example.com?stuff' Stuff after a ? delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/?stuff/path
" +PASS Setting <
http://example.net/path
>.host = 'example.com:8080?stuff' Stuff after a ? delimiter is ignored +FAIL Setting <
http://example.net/path
>.host = 'example.com#stuff' Stuff after a # delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/#stuff/path
" +PASS Setting <
http://example.net/path
>.host = 'example.com:8080#stuff' Stuff after a # delimiter is ignored +FAIL Setting <
http://example.net/path
>.host = 'example.com\stuff' Stuff after a \ delimiter is ignored for special schemes assert_equals: expected "
http://example.com/path
" but got "
http://example.com/stuff/path
" +PASS Setting <
http://example.net/path
>.host = 'example.com:8080\stuff' Stuff after a \ delimiter is ignored for special schemes +FAIL Setting <view-source+
http://example.net/path
>.host = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domain assert_equals: expected "view-source+
http://example.net/path
" but got "view-source+
http://example.com/stuff/path
" +PASS Setting <view-source+
http://example.net/path
>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.host = 'example.com:8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.host = 'example.com:8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.host = 'example.com:65535' Port numbers are 16 bit integers +FAIL Setting <
http://example.net/path
>.host = 'example.com:65536' Port numbers are 16 bit integers, overflowing is an error. Hostname is still set, though. assert_equals: expected "
http://example.com/path
" but got "
http://example.com:65536/path
" +PASS Setting <
mailto:me@example.net
>.hostname = 'example.com' Cannot-be-a-base means no host +PASS Setting <data:text/plain,Stuff>.hostname = 'example.net' Cannot-be-a-base means no password +PASS Setting <
http://example.net:8080
>.hostname = 'example.com' +PASS Setting <
http://example.net
>.hostname = '' The empty host is not valid for special schemes +FAIL Setting <view-source+
http://example.net/foo
>.hostname = '' The empty host is OK for non-special schemes assert_equals: expected "view-source+
http:///foo
" but got "view-source+
http://example.net/foo
" +PASS Setting <a:/foo>.hostname = 'example.net' Path-only URLs can gain a host +FAIL Setting <
http://example.net:8080
>.hostname = '0x7F000001' IPv4 address syntax is normalized assert_equals: expected "
http://127.0.0.1:8080/
" but got "
http://0x7f000001:8080/
" +FAIL Setting <
http://example.net
>.hostname = '[::0:01]' IPv6 address syntax is normalized assert_equals: expected "
http://[::1]/
" but got "
http://example.net/
" +FAIL Setting <
http://example.net/path
>.hostname = 'example.com:8080' Stuff after a : delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.net/path
" +FAIL Setting <
http://example.net:8080/path
>.hostname = 'example.com:' Stuff after a : delimiter is ignored assert_equals: expected "
http://example.com:8080/path
" but got "
http://example.net:8080/path
" +FAIL Setting <
http://example.net/path
>.hostname = 'example.com/stuff' Stuff after a / delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/stuff/path
" +FAIL Setting <
http://example.net/path
>.hostname = 'example.com?stuff' Stuff after a ? delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/?stuff/path
" +FAIL Setting <
http://example.net/path
>.hostname = 'example.com#stuff' Stuff after a # delimiter is ignored assert_equals: expected "
http://example.com/path
" but got "
http://example.com/#stuff/path
" +FAIL Setting <
http://example.net/path
>.hostname = 'example.com\stuff' Stuff after a \ delimiter is ignored for special schemes assert_equals: expected "
http://example.com/path
" but got "
http://example.com/stuff/path
" +FAIL Setting <view-source+
http://example.net/path
>.hostname = 'example.com\stuff' \ is not a delimiter for non-special schemes, and it’s invalid in a domain assert_equals: expected "view-source+
http://example.net/path
" but got "view-source+
http://example.com/stuff/path
" +PASS Setting <
http://example.net
>.port = '8080' +FAIL Setting <
http://example.net:8080
>.port = '' Port number is unchanged if empty in the new value. Note: this may change, see
https://github.com/whatwg/url/pull/113
assert_equals: expected "
http://example.net:8080/
" but got "
http://example.net:0/
" +PASS Setting <
http://example.net:8080
>.port = '80' Default port number is removed +PASS Setting <
https://example.net:4433
>.port = '443' Default port number is removed +PASS Setting <
https://example.net
>.port = '80' Default port number is only removed for the relevant scheme +PASS Setting <
http://example.net/path
>.port = '8080/stuff' Stuff after a / delimiter is ignored +PASS Setting <
http://example.net/path
>.port = '8080?stuff' Stuff after a ? delimiter is ignored +PASS Setting <
http://example.net/path
>.port = '8080#stuff' Stuff after a # delimiter is ignored +PASS Setting <
http://example.net/path
>.port = '8080\stuff' Stuff after a \ delimiter is ignored for special schemes +PASS Setting <view-source+
http://example.net/path
>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.port = '8080stuff2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.port = '8080+2' Anything other than ASCII digit stops the port parser in a setter but is not an error +PASS Setting <
http://example.net/path
>.port = '65535' Port numbers are 16 bit integers +FAIL Setting <
http://example.net:8080/path
>.port = '65536' Port numbers are 16 bit integers, overflowing is an error assert_equals: expected "
http://example.net:8080/path
" but got "
http://example.net:0/path
" +PASS Setting <
mailto:me@example.net
>.pathname = '/foo' Cannot-be-a-base don’t have a path +PASS Setting <unix:/run/foo.socket?timeout=10>.pathname = '/var/log/../run/bar.socket' +PASS Setting <
https://example.net#nav
>.pathname = 'home' +PASS Setting <
https://example.net#nav
>.pathname = '../home' +FAIL Setting <
http://example.net/home?lang=fr#nav
>.pathname = '\a\%2E\b\%2e.\c' \ is a segment delimiter for 'special' URLs assert_equals: expected "
http://example.net/a/c?lang=fr#nav
" but got "
http://example.net//a/%252E/b/%252e./c?lang=fr#nav
" +FAIL Setting <view-source+
http://example.net/home?lang=fr#nav
>.pathname = '\a\%2E\b\%2e.\c' \ is *not* a segment delimiter for non-'special' URLs assert_equals: expected "view-source+
http://example.net/\\a\.\b\..\c?lang=fr#nav
" but got "view-source+
http://example.net//a/%252E/b/%252e./c?lang=fr#nav
" +FAIL Setting <a:/>.pathname = '� + + !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' UTF-8 percent encoding with the default encode set. Tabs and newlines are removed. assert_equals: expected "a:/%00%01%1F%20!%22%23$%&'()*+,-./09:;%3C=%3E%3F@AZ[\\]^_%60az%7B|%7D~%7F%C2%80%C2%81%C3%89%C3%A9" but got "a:/" +FAIL Setting <
http://example.net
>.pathname = '%2e%2E%c3%89té' Bytes already percent-encoded are left as-is, except %2E. assert_equals: expected "
http://example.net/..%c3%89t%C3%A9
" but got "
http://example.net/%252e%252E%25c3%2589t%C3%A9
" +PASS Setting <
https://example.net#nav
>.search = 'lang=fr' +PASS Setting <
https://example.net?lang=en-US#nav
>.search = 'lang=fr' +PASS Setting <
https://example.net?lang=en-US#nav
>.search = '?lang=fr' +FAIL Setting <
https://example.net?lang=en-US#nav
>.search = '??lang=fr' assert_equals: expected "
https://example.net/??lang=fr#nav
" but got "
https://example.net/?lang=fr#nav
" +PASS Setting <
https://example.net?lang=en-US#nav
>.search = '?' +FAIL Setting <
https://example.net?lang=en-US#nav
>.search = '' assert_equals: expected "
https://example.net/#nav
" but got "
https://example.net/?#nav
" +FAIL Setting <
https://example.net?lang=en-US
>.search = '' assert_equals: expected "
https://example.net/
" but got "
https://example.net/
?" +FAIL Setting <
https://example.net
>.search = '' assert_equals: expected "
https://example.net/
" but got "
https://example.net/
?" +FAIL Setting <a:/>.search = '� + + !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' UTF-8 percent encoding with the query encode set. Tabs and newlines are removed. assert_equals: expected "a:/?%00%01%1F%20!%22%23$%&'()*+,-./09:;%3C=%3E?@AZ[\\]^_`az{|}~%7F%C2%80%C2%81%C3%89%C3%A9" but got "a:/?" +FAIL Setting <
http://example.net
>.search = '%c3%89té' Bytes already percent-encoded are left as-is assert_equals: expected "
http://example.net/?%c3%89t%C3%A9
" but got "
http://example.net/?%c3%89t%E9
" +PASS Setting <
https://example.net
>.hash = 'main' +PASS Setting <
https://example.net#nav
>.hash = 'main' +PASS Setting <
https://example.net?lang=en-US
>.hash = '##nav' +PASS Setting <
https://example.net?lang=en-US#nav
>.hash = '#main' +FAIL Setting <
https://example.net?lang=en-US#nav
>.hash = '#' assert_equals: expected "
https://example.net/?lang=en-US
#" but got "
https://example.net/?lang=en-US
" +PASS Setting <
https://example.net?lang=en-US#nav
>.hash = '' +FAIL Setting <a:/>.hash = '� + + !"#$%&'()*+,-./09:;<=>?@AZ[\]^_`az{|}~Éé' No percent-encoding at all (!); nuls, tabs, and newlines are removed assert_equals: expected "a:/#\x01\x1f !\"#$%&'()*+,-./09:;<=>?@AZ[\\]^_`az{|}~Éé" but got "a:/#" +FAIL Setting <
http://example.net
>.hash = '%c3%89té' Bytes already percent-encoded are left as-is assert_equals: expected "
http://example.net/#%c3%89té
" but got "
http://example.net/#%c3%89t%E9
" +
Attachments
Add attachment
proposed patch, testcase, etc.
Ryan Haddad
Comment 1
2016-08-25 08:57:05 PDT
Also failing on ios-simulator wk1
https://build.webkit.org/results/Apple%20iOS%209%20Simulator%20Release%20WK1%20(Tests)/r204955%20(8468)/results.html
Ryan Haddad
Comment 2
2016-08-25 09:02:44 PDT
Marked as failing in
http://trac.webkit.org/projects/webkit/changeset/204965
Chris Dumez
Comment 3
2017-05-17 15:10:57 PDT
Unskipped in
http://trac.webkit.org/changeset/217004
as it seems to pass on WK1 now.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug