Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

URL: parser failure consistency #4911

Merged
merged 1 commit into from
Feb 23, 2017
Merged

URL: parser failure consistency #4911

merged 1 commit into from
Feb 23, 2017

Conversation

annevk
Copy link
Member

@annevk annevk commented Feb 17, 2017

Fixes #3074.

@w3c-bots
Copy link

Chrome (unstable channel)

Testing web-platform-tests at revision dd80487
Using browser at version 58.0.3013.3 dev
Starting 10 test iterations
All results were stable

All results

1 test ran
/url/failure.html
Subtest Results
OK
sendBeacon(): http://# should throw FAIL
sendBeacon(): sc://[/ should throw FAIL
URL's href: http://a:b@/www.example.com should throw FAIL
XHR: https://[0:1.290.0.0.0] should throw PASS
Location's href: https://[0:1.290.0.0.0] should throw FAIL
Location's href: https://example.com%A0/ should throw FAIL
XHR: http://? should throw PASS
XHR: sc:// / should throw FAIL
sendBeacon(): http:a:b@/www.example.com should throw FAIL
XHR: http://# should throw PASS
URL's href: https://[0:0:] should throw FAIL
URL's href: sc://:/ should throw FAIL
Location's href: http://# should throw FAIL
sendBeacon(): ftp://example.com%A0/ should throw FAIL
Location's href: http://foo:-80/ should throw FAIL
XHR: https://� should throw PASS
Location's href: https://[0:1.23.23] should throw FAIL
XHR: sc://@/ should throw FAIL
sendBeacon(): https://x x:12 should throw FAIL
sendBeacon(): http://@:www.example.com should throw FAIL
XHR: http:@/www.example.com should throw FAIL
Location's href: http:/a:b@/www.example.com should throw FAIL
sendBeacon(): http::@/www.example.com should throw FAIL
Location's href: http::@/www.example.com should throw FAIL
XHR: http://@/www.example.com should throw PASS
XHR: http:@:www.example.com should throw FAIL
URL's href: https://[0:1.00.0.0.0] should throw FAIL
URL's href: sc://]/ should throw FAIL
sendBeacon(): https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw FAIL
Location's href: http:/:@/www.example.com should throw FAIL
sendBeacon(): sc://]/ should throw FAIL
sendBeacon(): https://%EF%BF%BD should throw FAIL
Location's href: http:a:b@/www.example.com should throw FAIL
XHR: http::@/www.example.com should throw FAIL
XHR: http:/a:b@/www.example.com should throw FAIL
sendBeacon(): sc://@/ should throw FAIL
XHR: http://user:pass@/ should throw PASS
sendBeacon(): file://example%/ should throw FAIL
URL's href: ftp://example.com%80/ should throw FAIL
sendBeacon(): https://[0::0::0] should throw FAIL
URL's href: http://@:www.example.com should throw FAIL
Location's href: sc://:/ should throw FAIL
URL's href: sc:// / should throw FAIL
URL's href: http:/a:b@/www.example.com should throw FAIL
sendBeacon(): https:@/www.example.com should throw FAIL
sendBeacon(): https://� should throw FAIL
XHR: https:@/www.example.com should throw PASS
sendBeacon(): http://foo:-80/ should throw FAIL
Location's href: http://a:b@/www.example.com should throw FAIL
URL's href: http://user:pass@/ should throw FAIL
XHR: http://[www.google.com]/ should throw PASS
Location's href: https:@/www.example.com should throw FAIL
URL's href: file://example:test/ should throw FAIL
URL's href: non-special://[:80/ should throw FAIL
URL's href: sc://:12/ should throw FAIL
Location's href: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw FAIL
URL's href: http:@:www.example.com should throw FAIL
XHR: ftp://example.com%A0/ should throw PASS
sendBeacon(): file://example:1/ should throw FAIL
Location's href: sc://[/ should throw FAIL
URL's href: https://%EF%BF%BD should throw FAIL
Location's href: http://user@/www.example.com should throw FAIL
sendBeacon(): https://[0:.0] should throw FAIL
Location's href: ftp://example.com%80/ should throw FAIL
sendBeacon(): sc://:12/ should throw FAIL
Location's href: sc://te@s:t@/ should throw FAIL
Location's href: http://@:www.example.com should throw FAIL
XHR: sc://]/ should throw FAIL
URL's href: http::@/www.example.com should throw FAIL
sendBeacon(): http://user:pass@/ should throw FAIL
Location's href: sc://\/ should throw FAIL
URL's href: https://example.com%A0/ should throw FAIL
XHR: file://[example]/ should throw PASS
XHR: http://@:www.example.com should throw PASS
sendBeacon(): sc://:/ should throw FAIL
sendBeacon(): http://a:b@/www.example.com should throw FAIL
XHR: non-special://[:80/ should throw FAIL
URL's href: http:@/www.example.com should throw FAIL
sendBeacon(): https://[0:1.290.0.0.0] should throw FAIL
sendBeacon(): http:/a:b@/www.example.com should throw FAIL
URL's href: https://[0:.0] should throw FAIL
URL's href: https://example.com%80/ should throw FAIL
URL's href: http:a:b@/www.example.com should throw FAIL
XHR: http:/@:www.example.com should throw FAIL
XHR: file://example:test/ should throw PASS
sendBeacon(): http://[www.google.com]/ should throw FAIL
URL's href: sc://@/ should throw FAIL
XHR: https://[0:1.23.23] should throw PASS
XHR: http:/:@/www.example.com should throw FAIL
Location's href: http://[www.google.com]/ should throw FAIL
URL's href: http://# should throw FAIL
URL's href: http:/@/www.example.com should throw FAIL
Location's href: https://[0::0::0] should throw FAIL
XHR: https://[0::0::0] should throw PASS
XHR: https://[0:1.00.0.0.0] should throw PASS
XHR: https://x x:12 should throw FAIL
URL's href: http:/:@/www.example.com should throw FAIL
Location's href: non-special://[:80/ should throw FAIL
URL's href: sc:/// should throw FAIL
Location's href: http://? should throw FAIL
URL's href: https:@/www.example.com should throw FAIL
URL's href: http://user@/www.example.com should throw FAIL
XHR: http://a:b@/www.example.com should throw PASS
XHR: file://example:1/ should throw PASS
URL's href: https://[0:1.23.23] should throw FAIL
Location's href: http:/@:www.example.com should throw FAIL
Location's href: https://[0:0:] should throw FAIL
Location's href: https://� should throw FAIL
sendBeacon(): https://[0:1.00.0.0.0] should throw FAIL
sendBeacon(): file://[example]/ should throw FAIL
XHR: https://[0:.0] should throw PASS
URL's href: http://? should throw FAIL
XHR: sc:/// should throw FAIL
URL's href: sc://[/ should throw FAIL
Location's href: sc:/// should throw FAIL
sendBeacon(): http:/:@/www.example.com should throw FAIL
sendBeacon(): sc://\/ should throw FAIL
Location's href: https://[0:.0] should throw FAIL
sendBeacon(): http://? should throw FAIL
URL's href: https://[0::0::0] should throw FAIL
Location's href: https://%EF%BF%BD should throw FAIL
Location's href: http:@/www.example.com should throw FAIL
XHR: http://foo:-80/ should throw PASS
URL's href: file://example:1/ should throw FAIL
sendBeacon(): http://@/www.example.com should throw FAIL
Location's href: file://example:test/ should throw FAIL
Loading data… PASS
sendBeacon(): http:/@:www.example.com should throw FAIL
Location's href: ftp://example.com%A0/ should throw FAIL
Location's href: https://x x:12 should throw FAIL
XHR: file://example%/ should throw PASS
sendBeacon(): https://[0:1.23.23] should throw FAIL
Location's href: https://[0:1.00.0.0.0] should throw FAIL
XHR: https://example.com%A0/ should throw PASS
Location's href: https://example.com%80/ should throw FAIL
XHR: https://%EF%BF%BD should throw PASS
Location's href: http://user:pass@/ should throw FAIL
sendBeacon(): sc://te@s:t@/ should throw FAIL
Location's href: http:/@/www.example.com should throw FAIL
URL's href: sc://\/ should throw FAIL
XHR: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw PASS
sendBeacon(): http:/@/www.example.com should throw FAIL
URL's href: http://foo:-80/ should throw FAIL
Location's href: file://example:1/ should throw FAIL
URL's href: https://x x:12 should throw FAIL
URL's href: http:/@:www.example.com should throw FAIL
URL's href: file://[example]/ should throw FAIL
sendBeacon(): sc:// / should throw FAIL
XHR: http://user@/www.example.com should throw PASS
XHR: http:/@/www.example.com should throw FAIL
sendBeacon(): https://[0:0:] should throw FAIL
sendBeacon(): non-special://[:80/ should throw FAIL
XHR: sc://[/ should throw FAIL
Location's href: sc://]/ should throw FAIL
Location's href: file://example%/ should throw FAIL
URL's href: http://[www.google.com]/ should throw FAIL
sendBeacon(): ftp://example.com%80/ should throw FAIL
URL's href: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw FAIL
Location's href: sc://@/ should throw FAIL
Location's href: http:@:www.example.com should throw FAIL
sendBeacon(): file://example:test/ should throw FAIL
sendBeacon(): sc:/// should throw FAIL
XHR: sc://:12/ should throw FAIL
XHR: sc://te@s:t@/ should throw FAIL
XHR: sc://\/ should throw FAIL
URL's href: ftp://example.com%A0/ should throw FAIL
URL's href: https://[0:1.290.0.0.0] should throw FAIL
XHR: sc://:/ should throw FAIL
URL's href: file://example%/ should throw FAIL
URL's href: https://� should throw FAIL
Location's href: sc:// / should throw FAIL
URL's href: sc://te@s:t@/ should throw FAIL
XHR: ftp://example.com%80/ should throw PASS
Location's href: file://[example]/ should throw FAIL
XHR: https://[0:0:] should throw PASS
XHR: https://example.com%80/ should throw PASS
sendBeacon(): https://example.com%A0/ should throw FAIL
XHR: http:a:b@/www.example.com should throw FAIL
sendBeacon(): http://user@/www.example.com should throw FAIL
URL's href: http://@/www.example.com should throw FAIL
sendBeacon(): http:@/www.example.com should throw FAIL
sendBeacon(): https://example.com%80/ should throw FAIL
sendBeacon(): http:@:www.example.com should throw FAIL
Location's href: http://@/www.example.com should throw FAIL
Location's href: sc://:12/ should throw FAIL

@w3c-bots
Copy link

Firefox (nightly channel)

Testing web-platform-tests at revision dd80487
Using browser at version BuildID 20170123125947; SourceStamp 36486fdc3813ef7943ae5b07b4128866d1938a6c
Starting 10 test iterations
All results were stable

All results

1 test ran
/url/failure.html
Subtest Results
OK
sendBeacon(): http://# should throw FAIL
URL's href: sc:/// should throw FAIL
sendBeacon(): sc://[/ should throw PASS
URL's href: http://a:b@/www.example.com should throw PASS
XHR: https://[0:1.290.0.0.0] should throw PASS
Location's href: https://example.com%A0/ should throw FAIL
XHR: http://? should throw FAIL
XHR: sc:// / should throw FAIL
sendBeacon(): http:a:b@/www.example.com should throw FAIL
XHR: http://# should throw FAIL
URL's href: https://[0:0:] should throw PASS
URL's href: sc://:/ should throw FAIL
Location's href: http://# should throw FAIL
sendBeacon(): ftp://example.com%A0/ should throw PASS
Location's href: http://foo:-80/ should throw FAIL
XHR: https://� should throw FAIL
Location's href: https://[0:1.23.23] should throw FAIL
XHR: sc://@/ should throw FAIL
sendBeacon(): https://x x:12 should throw PASS
sendBeacon(): http://@:www.example.com should throw PASS
XHR: http:@/www.example.com should throw FAIL
Location's href: http:/a:b@/www.example.com should throw FAIL
sendBeacon(): http::@/www.example.com should throw FAIL
Location's href: http::@/www.example.com should throw FAIL
XHR: http://@/www.example.com should throw PASS
XHR: http:@:www.example.com should throw FAIL
URL's href: https://[0:1.00.0.0.0] should throw PASS
URL's href: sc://]/ should throw FAIL
sendBeacon(): https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw PASS
Location's href: http:/:@/www.example.com should throw FAIL
sendBeacon(): sc://]/ should throw PASS
sendBeacon(): https://%EF%BF%BD should throw FAIL
Location's href: http:a:b@/www.example.com should throw FAIL
XHR: http::@/www.example.com should throw FAIL
XHR: http:/a:b@/www.example.com should throw FAIL
sendBeacon(): sc://@/ should throw PASS
XHR: http://user:pass@/ should throw PASS
sendBeacon(): file://example%/ should throw PASS
URL's href: ftp://example.com%80/ should throw PASS
sendBeacon(): https://[0::0::0] should throw PASS
URL's href: http://@:www.example.com should throw PASS
Location's href: sc://:/ should throw FAIL
URL's href: sc:// / should throw FAIL
URL's href: http:/a:b@/www.example.com should throw PASS
sendBeacon(): https:@/www.example.com should throw PASS
sendBeacon(): https://� should throw FAIL
XHR: https:@/www.example.com should throw PASS
sendBeacon(): http://foo:-80/ should throw PASS
Location's href: http://a:b@/www.example.com should throw FAIL
URL's href: http://user:pass@/ should throw PASS
XHR: http://[www.google.com]/ should throw PASS
Location's href: https:@/www.example.com should throw FAIL
URL's href: file://example:test/ should throw FAIL
URL's href: non-special://[:80/ should throw FAIL
URL's href: sc://:12/ should throw FAIL
Location's href: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw FAIL
URL's href: http:@:www.example.com should throw PASS
XHR: ftp://example.com%A0/ should throw FAIL
sendBeacon(): sc:/// should throw PASS
sendBeacon(): file://example:1/ should throw PASS
Location's href: sc://[/ should throw FAIL
URL's href: https://%EF%BF%BD should throw FAIL
Location's href: http://user@/www.example.com should throw FAIL
sendBeacon(): https://[0:.0] should throw PASS
Location's href: ftp://example.com%80/ should throw FAIL
sendBeacon(): sc://:12/ should throw PASS
Location's href: sc://te@s:t@/ should throw FAIL
Location's href: http://@:www.example.com should throw FAIL
XHR: sc://]/ should throw FAIL
URL's href: http::@/www.example.com should throw PASS
sendBeacon(): http://user:pass@/ should throw PASS
Location's href: sc://\/ should throw FAIL
URL's href: https://example.com%A0/ should throw PASS
XHR: file://[example]/ should throw FAIL
XHR: http://@:www.example.com should throw PASS
sendBeacon(): sc://:/ should throw PASS
sendBeacon(): http://a:b@/www.example.com should throw PASS
XHR: non-special://[:80/ should throw FAIL
URL's href: http:@/www.example.com should throw PASS
sendBeacon(): https://[0:1.290.0.0.0] should throw PASS
sendBeacon(): http:/a:b@/www.example.com should throw FAIL
URL's href: https://[0:.0] should throw PASS
URL's href: https://example.com%80/ should throw PASS
URL's href: http:a:b@/www.example.com should throw PASS
XHR: http:/@:www.example.com should throw FAIL
XHR: file://example:test/ should throw FAIL
sendBeacon(): http://[www.google.com]/ should throw PASS
URL's href: sc://@/ should throw FAIL
XHR: https://[0:1.23.23] should throw PASS
XHR: http:/:@/www.example.com should throw FAIL
Location's href: sc:/// should throw FAIL
Location's href: http://[www.google.com]/ should throw FAIL
URL's href: http://# should throw FAIL
URL's href: http:/@/www.example.com should throw PASS
Location's href: https://[0::0::0] should throw FAIL
XHR: https://[0::0::0] should throw PASS
XHR: https://[0:1.00.0.0.0] should throw PASS
XHR: https://x x:12 should throw PASS
URL's href: http:/:@/www.example.com should throw PASS
Location's href: non-special://[:80/ should throw FAIL
sendBeacon(): sc://te@s:t@/ should throw PASS
Location's href: http://? should throw FAIL
URL's href: https:@/www.example.com should throw PASS
URL's href: http://user@/www.example.com should throw PASS
XHR: http://a:b@/www.example.com should throw PASS
XHR: file://example:1/ should throw FAIL
URL's href: https://[0:1.23.23] should throw PASS
Location's href: http:/@:www.example.com should throw FAIL
Location's href: https://[0:0:] should throw FAIL
Location's href: https://� should throw FAIL
sendBeacon(): https://[0:1.00.0.0.0] should throw PASS
sendBeacon(): file://[example]/ should throw PASS
XHR: https://[0:.0] should throw PASS
URL's href: http://? should throw FAIL
URL's href: sc://[/ should throw FAIL
XHR: sc://:12/ should throw FAIL
sendBeacon(): http:/:@/www.example.com should throw FAIL
sendBeacon(): sc://\/ should throw PASS
Location's href: https://[0:.0] should throw FAIL
sendBeacon(): http://? should throw FAIL
URL's href: https://[0::0::0] should throw PASS
Location's href: https://%EF%BF%BD should throw FAIL
Location's href: http:@/www.example.com should throw FAIL
XHR: http://foo:-80/ should throw PASS
URL's href: file://example:1/ should throw FAIL
sendBeacon(): http://@/www.example.com should throw PASS
Location's href: file://example:test/ should throw FAIL
Loading data… PASS
sendBeacon(): http:/@:www.example.com should throw FAIL
Location's href: ftp://example.com%A0/ should throw FAIL
Location's href: https://x x:12 should throw FAIL
XHR: file://example%/ should throw FAIL
sendBeacon(): https://[0:1.23.23] should throw PASS
Location's href: https://[0:1.00.0.0.0] should throw FAIL
XHR: https://example.com%A0/ should throw FAIL
Location's href: https://example.com%80/ should throw FAIL
XHR: https://%EF%BF%BD should throw FAIL
Location's href: http://user:pass@/ should throw FAIL
XHR: sc:/// should throw FAIL
Location's href: http:/@/www.example.com should throw FAIL
URL's href: sc://\/ should throw FAIL
XHR: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw PASS
sendBeacon(): http:/@/www.example.com should throw FAIL
URL's href: http://foo:-80/ should throw PASS
Location's href: file://example:1/ should throw FAIL
URL's href: https://x x:12 should throw PASS
URL's href: http:/@:www.example.com should throw PASS
URL's href: file://[example]/ should throw FAIL
sendBeacon(): sc:// / should throw PASS
XHR: http://user@/www.example.com should throw PASS
XHR: http:/@/www.example.com should throw FAIL
sendBeacon(): https://[0:0:] should throw PASS
sendBeacon(): non-special://[:80/ should throw PASS
XHR: sc://[/ should throw FAIL
Location's href: sc://]/ should throw FAIL
Location's href: file://example%/ should throw FAIL
URL's href: http://[www.google.com]/ should throw PASS
sendBeacon(): ftp://example.com%80/ should throw PASS
URL's href: https://[0:1:2:3:4:5:6:7.0.0.0.1] should throw PASS
Location's href: sc://@/ should throw FAIL
Location's href: http:@:www.example.com should throw FAIL
sendBeacon(): file://example:test/ should throw PASS
Location's href: https://[0:1.290.0.0.0] should throw FAIL
XHR: sc://te@s:t@/ should throw FAIL
XHR: sc://\/ should throw FAIL
URL's href: ftp://example.com%A0/ should throw PASS
URL's href: https://[0:1.290.0.0.0] should throw PASS
XHR: sc://:/ should throw FAIL
URL's href: file://example%/ should throw FAIL
URL's href: https://� should throw FAIL
Location's href: sc:// / should throw FAIL
URL's href: sc://te@s:t@/ should throw FAIL
XHR: ftp://example.com%80/ should throw FAIL
Location's href: file://[example]/ should throw FAIL
XHR: https://[0:0:] should throw PASS
XHR: https://example.com%80/ should throw FAIL
sendBeacon(): https://example.com%A0/ should throw PASS
XHR: http:a:b@/www.example.com should throw FAIL
sendBeacon(): http://user@/www.example.com should throw PASS
URL's href: http://@/www.example.com should throw PASS
sendBeacon(): http:@/www.example.com should throw FAIL
sendBeacon(): https://example.com%80/ should throw PASS
sendBeacon(): http:@:www.example.com should throw FAIL
Location's href: http://@/www.example.com should throw FAIL
Location's href: sc://:12/ should throw FAIL

url("ftp:")
url("http://a a/")
url("http:////////////")
url("http://u:p@/")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

keep these cases tested by moving them to urltestdata.json?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, see #3018.

@annevk annevk requested a review from zcorpan February 20, 2017 16:36
@zcorpan zcorpan merged commit e29b5db into master Feb 23, 2017
@zcorpan zcorpan deleted the annevk/url-failure branch February 23, 2017 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants