diff --git a/url.bs b/url.bs index 3fff34e8..8ff281df 100644 --- a/url.bs +++ b/url.bs @@ -93,16 +93,16 @@ valid input. User agents, especially conformance checkers, are encouraged to rep
The input to the URL parser contains leading or trailing C0 control or space code points. The URL parser subsequently strips any matching code points. -
" https://example.org " +
" https://example.org "
The input to the URL parser contains ASCII tab or newline code points. The URL parser subsequently strips any matching code points. -
"ht\ttps://example.org" +
"ht\ttps://example.org"
"^_^://example.org"
"https//example.org"
The input is missing a scheme, because it does not begin with an ASCII alpha, and either no base URL was provided or the base URL cannot be used as a base URL because its cannot-be-a-base-URL flag is set. -
Input's scheme is missing and no base URL is given:
let url = new URL("💩");
@@ -138,10 +138,10 @@ valid input. User agents, especially conformance checkers, are encouraged to rep
The input is a relative-URL String that does not begin with a U+002F (/) code point. -
let url = new URL("foo.html", "https://example.org/");
@@ -241,12 +241,12 @@ valid input. User agents, especially conformance checkers, are encouraged to rep
"https://example.org/%💩"
An IPv6 address is missing the closing U+005D (]) code point. -
"https://[::1" +
"https://[::1"
The result of Unicode toASCII records an error while processing the input domain.
[[!UTS46]] conformance does not require the reporting of precise errors, only that @@ -254,7 +254,7 @@ valid input. User agents, especially conformance checkers, are encouraged to rep are encouraged pass those codes along.
The result of Unicode toASCII returns an empty string. This can be caused by a number of things, such as:
"https://127.0.0x0.1"
An IPv4 part exceeds 255. This is only fatal if the last part exceeds 255. -
"https://255.255.4000.1" +
"https://255.255.4000.1"
An IPv6 address begins with improper compression. -
"https://[:1]" +
"https://[:1]"
An IPv6 address contains more than 8 pieces. -
"https://[1:2:3:4:5:6:7:8:9]" +
"https://[1:2:3:4:5:6:7:8:9]"
An IPv6 address is compressed in more than one spot. -
"https://[1::1::1]" +
"https://[1::1::1]"
An IPv6 address that contains an IPv4 address has an empty part in the IPv4 address. -
"https://[ffff::.0.0.1]" +
"https://[ffff::.0.0.1]"
An IPv6 address contains an IPv4 address and the IPv6 address has more than 6 pieces. -
"https://[1:1:1:1:1:1:1:127.0.0.1]" +
"https://[1:1:1:1:1:1:1:127.0.0.1]"
An IPv6 address unexpectedly ends. -
"https://[1:2:3:]" +
"https://[1:2:3:]"
An IPv6 address contains a code point that is not an ASCII hex digit and not a U+003A (:) code point. -
"https://[1:2:3!:4]" +
"https://[1:2:3!:4]"
An uncompressed IPv6 address contains fewer than 8 pieces. -
"https://[1:2:3]" +
"https://[1:2:3]"
"foo://exa[mple.org"
An IPv6 address contains an IPv4 address and the IPv4 address has more than 4 parts. -
"https://[ffff::127.0.0.1.2]" +
"https://[ffff::127.0.0.1.2]"
An IPv6 address contains an IPv4 address whose parts contain code points other than ASCII digits or is an empty string. -
"https://[ffff::127.0.xyz.1]" +
"https://[ffff::127.0.xyz.1]"
The first part of an IPv4 address that is contained within an IPv6 address is 0. -
"https://[ffff::0.0.0.1]" +
"https://[ffff::0.0.0.1]"
An IPv4 address contained within an IPv6 address contains a part that exceeds 255. -
"https://[ffff::127.0.0.4000]" +
"https://[ffff::127.0.0.4000]"
An IPv4 address contained within an IPv6 address does not contain exactly 4 parts. -
"https://[ffff::127.0.0]" +
"https://[ffff::127.0.0]"
If result is a failure value, domain-to-ASCII-failure +
If result is a failure value, domain-to-ascii-failure validation error return failure. -
If result is the empty string, domain-to-ASCII-empty-domain-failure +
If result is the empty string, domain-to-ascii-empty-domain-failure validation error return failure.
Return result. @@ -808,7 +808,7 @@ string input with an optional boolean isNotSpecial, and th
If input starts with U+005B ([), then:
If input does not end with U+005D (]), unclosed-IPv6-address +
If input does not end with U+005D (]), unclosed-ipv6-address validation error, return failure.
Return the result of IPv6 parsing input with its @@ -831,7 +831,7 @@ string input with an optional boolean isNotSpecial, and th
Let asciiDomain be the result of running domain to ASCII on domain. -
If asciiDomain is failure, domain-to-ASCII-failure +
If asciiDomain is failure, domain-to-ascii-failure validation error, return failure.
If asciiDomain contains a forbidden host code point, @@ -906,7 +906,7 @@ these steps: treated as an IPv4 address (or failure). And therefore error reporting resumes.
If any item in numbers is greater than 255, IPv4-part-out-of-range +
If any item in numbers is greater than 255, ipv4-part-out-of-range validation error.
If any but the last item in numbers is greater than 255, then @@ -914,7 +914,7 @@ these steps:
If the last item in numbers is greater than or equal to 256(5 − numbers's size), - IPv4-part-out-of-range validation error, return failure. + ipv4-part-out-of-range validation error, return failure.
Let ipv4 be the last item in numbers. @@ -1002,7 +1002,7 @@ then runs these steps:
If remaining does not start with U+003A (:), - invalid-compressed-IPv6-address validation error, return failure. + invalid-compressed-ipv6-address validation error, return failure.
Increase pointer by 2. @@ -1014,14 +1014,14 @@ then runs these steps:
While c is not the EOF code point:
If pieceIndex is 8, IPv6-too-many-pieces +
If pieceIndex is 8, ipv6-too-many-pieces validation error, return failure.
If c is U+003A (:), then:
If compress is non-null, IPv6-multiple-compression +
If compress is non-null, ipv6-multiple-compression validation error, return failure.
If c is U+002E (.), then:
If length is 0, IPv4-in-IPv6-empty-part validation error, +
If length is 0, ipv4-in-ipv6-empty-part validation error, return failure.
Decrease pointer by length. -
If pieceIndex is greater than 6, IPv4-in-IPv6-too-many-pieces +
If pieceIndex is greater than 6, ipv4-in-ipv6-too-many-pieces validation error, return failure.
Let numbersSeen be 0. @@ -1061,10 +1061,10 @@ then runs these steps:
If c is a U+002E (.) and numbersSeen is less than 4, then increase pointer by 1. -
If c is not an ASCII digit, IPv4-in-IPv6-unexpected-code-point +
If c is not an ASCII digit, ipv4-in-ipv6-unexpected-code-point validation error, return failure. @@ -1077,13 +1077,13 @@ then runs these steps:
If ipv4Piece is null, then set ipv4Piece to number. -
Otherwise, if ipv4Piece is 0, IPv4-in-IPv6-invalid-first-part +
Otherwise, if ipv4Piece is 0, ipv4-in-ipv6-invalid-first-part validation error, return failure.
Otherwise, set ipv4Piece to ipv4Piece × 10 + number. -
If ipv4Piece is greater than 255, IPv4-in-IPv6-part-out-of-range +
If ipv4Piece is greater than 255, ipv4-in-ipv6-part-out-of-range validation error, return failure.
Increase pointer by 1. @@ -1097,7 +1097,7 @@ then runs these steps:
If numbersSeen is 2 or 4, then increase pieceIndex by 1.
If numbersSeen is not 4, IPv4-in-IPv6-too-few-parts +
If numbersSeen is not 4, ipv4-in-ipv6-too-few-parts validation error, return failure.
Break. @@ -1113,7 +1113,7 @@ then runs these steps: validation error, return failure.
Otherwise, if c is not the EOF code point, IPv6-unexpected-delimiter +
Otherwise, if c is not the EOF code point, ipv6-unexpected-delimiter validation error, return failure.
Set address[pieceIndex] to value. @@ -1136,7 +1136,7 @@ then runs these steps:
Otherwise, if compress is null and pieceIndex is not 8, - IPv6-too-few-pieces validation error, return failure. + ipv6-too-few-pieces validation error, return failure.
Return address.