| PASS | Loading data… | |
| PASS | <a>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. | |
| PASS | <area>: Setting <a://example.net>.protocol = '' The empty string is not a valid scheme. Setter leaves the URL unchanged. | |
| PASS | <a>: Setting <a://example.net>.protocol = 'b' | |
| PASS | <area>: Setting <a://example.net>.protocol = 'b' | |
| PASS | <a>: Setting <javascript:alert(1)>.protocol = 'defuse' | |
| PASS | <area>: Setting <javascript:alert(1)>.protocol = 'defuse' | |
| PASS | <a>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased | |
| PASS | <area>: Setting <a://example.net>.protocol = 'B' Upper-case ASCII is lower-cased | |
| PASS | <a>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected | |
| PASS | <area>: Setting <a://example.net>.protocol = 'é' Non-ASCII is rejected | |
| PASS | <a>: Setting <a://example.net>.protocol = '0b' No leading digit | |
| PASS | <area>: Setting <a://example.net>.protocol = '0b' No leading digit | |
| PASS | <a>: Setting <a://example.net>.protocol = '+b' No leading punctuation | |
| PASS | <area>: Setting <a://example.net>.protocol = '+b' No leading punctuation | |
| PASS | <a>: Setting <a://example.net>.protocol = 'bC0+-.' | |
| PASS | <area>: Setting <a://example.net>.protocol = 'bC0+-.' | |
| PASS | <a>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable | |
| PASS | <area>: Setting <a://example.net>.protocol = 'b,c' Only some punctuation is acceptable | |
| PASS | <a>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected | |
| PASS | <area>: Setting <a://example.net>.protocol = 'bé' Non-ASCII is rejected | |
| PASS | <a>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file | |
| PASS | <area>: Setting <http://test@example.net>.protocol = 'file' Can’t switch from URL containing username/password/port to file | |
| PASS | <a>: Setting <https://example.net:1234>.protocol = 'file' | |
| PASS | <area>: Setting <https://example.net:1234>.protocol = 'file' | |
| PASS | <a>: Setting <wss://x:x@example.net:1234>.protocol = 'file' | |
| PASS | <area>: Setting <wss://x:x@example.net:1234>.protocol = 'file' | |
| PASS | <a>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host | |
| PASS | <area>: Setting <file://localhost/>.protocol = 'http' Can’t switch from file URL with no host | |
| PASS | <a>: Setting <file:///test>.protocol = 'https' | |
| PASS | <area>: Setting <file:///test>.protocol = 'https' | |
| PASS | <a>: Setting <file:>.protocol = 'wss' | |
| PASS | <area>: Setting <file:>.protocol = 'wss' | |
| PASS | <a>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special | |
| PASS | <area>: Setting <http://example.net>.protocol = 'b' Can’t switch from special scheme to non-special | |
| PASS | <a>: Setting <file://hi/path>.protocol = 's' | |
| PASS | <area>: Setting <file://hi/path>.protocol = 's' | |
| PASS | <a>: Setting <https://example.net>.protocol = 's' | |
| PASS | <area>: Setting <https://example.net>.protocol = 's' | |
| PASS | <a>: Setting <ftp://example.net>.protocol = 'test' | |
| PASS | <area>: Setting <ftp://example.net>.protocol = 'test' | |
| PASS | <a>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must. | |
| PASS | <area>: Setting <mailto:me@example.net>.protocol = 'http' Cannot-be-a-base URL doesn’t have a host, but URL in a special scheme must. | |
| PASS | <a>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special | |
| PASS | <area>: Setting <ssh://me@example.net>.protocol = 'http' Can’t switch from non-special scheme to special | |
| PASS | <a>: Setting <ssh://me@example.net>.protocol = 'https' | |
| PASS | <area>: Setting <ssh://me@example.net>.protocol = 'https' | |
| PASS | <a>: Setting <ssh://me@example.net>.protocol = 'file' | |
| PASS | <area>: Setting <ssh://me@example.net>.protocol = 'file' | |
| PASS | <a>: Setting <ssh://example.net>.protocol = 'file' | |
| PASS | <area>: Setting <ssh://example.net>.protocol = 'file' | |
| PASS | <a>: Setting <nonsense:///test>.protocol = 'https' | |
| PASS | <area>: Setting <nonsense:///test>.protocol = 'https' | |
| PASS | <a>: Setting <http://example.net>.protocol = 'https:foo : bar' Stuff after the first ':' is ignored | |
| PASS | <area>: Setting <http://example.net>.protocol = 'https:foo : bar' Stuff after the first ':' is ignored | |
| PASS | <a>: Setting <data:text/html,<p>Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored | |
| PASS | <area>: Setting <data:text/html,<p>Test>.protocol = 'view-source+data:foo : bar' Stuff after the first ':' is ignored | |
| PASS | <a>: Setting <http://foo.com:443/>.protocol = 'https' Port is set to null if it is the default for new scheme. | |
| PASS | <area>: Setting <http://foo.com:443/>.protocol = 'https' Port is set to null if it is the default for new scheme. | |
| PASS | <a>: Setting <http://test/>.protocol = 'h
tt ps' Tab and newline are stripped | |
| PASS | <area>: Setting <http://test/>.protocol = 'h
tt ps' Tab and newline are stripped | |
| PASS | <a>: Setting <http://test/>.protocol = 'https
' | |
| PASS | <area>: Setting <http://test/>.protocol = 'https
' | |
| PASS | <a>: Setting <http://test/>.protocol = 'https ' Non-tab/newline C0 controls result in no-op | |
| PASS | <area>: Setting <http://test/>.protocol = 'https ' Non-tab/newline C0 controls result in no-op | |
| PASS | <a>: Setting <http://test/>.protocol = 'https' | |
| PASS | <area>: Setting <http://test/>.protocol = 'https' | |
| PASS | <a>: Setting <http://test/>.protocol = 'https' | |
| PASS | <area>: Setting <http://test/>.protocol = 'https' | |
| PASS | <a>: Setting <http://test/>.protocol = 'https ' | |
| PASS | <area>: Setting <http://test/>.protocol = 'https ' | |
| PASS | <a>: Setting <file:///home/you/index.html>.username = 'me' No host means no username | |
| PASS | <area>: Setting <file:///home/you/index.html>.username = 'me' No host means no username | |
| PASS | <a>: Setting <unix:/run/foo.socket>.username = 'me' No host means no username | |
| PASS | <area>: Setting <unix:/run/foo.socket>.username = 'me' No host means no username | |
| PASS | <a>: Setting <mailto:you@example.net>.username = 'me' Cannot-be-a-base means no username | |
| PASS | <area>: Setting <mailto:you@example.net>.username = 'me' Cannot-be-a-base means no username | |
| PASS | <a>: Setting <javascript:alert(1)>.username = 'wario' | |
| PASS | <area>: Setting <javascript:alert(1)>.username = 'wario' | |
| PASS | <a>: Setting <http://example.net>.username = 'me' | |
| PASS | <area>: Setting <http://example.net>.username = 'me' | |
| PASS | <a>: Setting <http://:secret@example.net>.username = 'me' | |
| PASS | <area>: Setting <http://:secret@example.net>.username = 'me' | |
| PASS | <a>: Setting <http://me@example.net>.username = '' | |
| PASS | <area>: Setting <http://me@example.net>.username = '' | |
| PASS | <a>: Setting <http://me:secret@example.net>.username = '' | |
| PASS | <area>: Setting <http://me:secret@example.net>.username = '' | |
| PASS | <a>: Setting <http://example.net>.username = ' |