mirror of
https://github.com/servo/servo.git
synced 2025-08-03 20:50:07 +01:00
parent
e7808c526c
commit
a8e4558e82
26 changed files with 310 additions and 956 deletions
|
@ -42,16 +42,46 @@ impl<'a> LocationMethods for &'a Location {
|
|||
self.window.root().r().load_url(url);
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hash
|
||||
fn Hash(self) -> USVString {
|
||||
UrlHelper::Hash(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-href
|
||||
fn Href(self) -> USVString {
|
||||
UrlHelper::Href(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-host
|
||||
fn Host(self) -> USVString {
|
||||
UrlHelper::Host(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hostname
|
||||
fn Hostname(self) -> USVString {
|
||||
UrlHelper::Hostname(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-password
|
||||
fn Password(self) -> USVString {
|
||||
UrlHelper::Password(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-pathname
|
||||
fn Pathname(self) -> USVString {
|
||||
UrlHelper::Pathname(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-port
|
||||
fn Port(self) -> USVString {
|
||||
UrlHelper::Port(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-protocol
|
||||
fn Protocol(self) -> USVString {
|
||||
UrlHelper::Protocol(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#URLUtils-stringification-behavior
|
||||
fn Stringifier(self) -> DOMString {
|
||||
self.Href().0
|
||||
|
@ -62,9 +92,9 @@ impl<'a> LocationMethods for &'a Location {
|
|||
UrlHelper::Search(&self.get_url())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hash
|
||||
fn Hash(self) -> USVString {
|
||||
UrlHelper::Hash(&self.get_url())
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-username
|
||||
fn Username(self) -> USVString {
|
||||
UrlHelper::Username(&self.get_url())
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -308,6 +308,7 @@ pub mod textdecoder;
|
|||
pub mod textencoder;
|
||||
pub mod treewalker;
|
||||
pub mod uievent;
|
||||
pub mod url;
|
||||
pub mod urlhelper;
|
||||
pub mod urlsearchparams;
|
||||
pub mod userscripts;
|
||||
|
|
150
components/script/dom/url.rs
Normal file
150
components/script/dom/url.rs
Normal file
|
@ -0,0 +1,150 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
use dom::bindings::codegen::Bindings::URLBinding::{self, URLMethods};
|
||||
use dom::bindings::error::{Error, Fallible};
|
||||
use dom::bindings::global::GlobalRef;
|
||||
use dom::bindings::js::Root;
|
||||
use dom::bindings::utils::{Reflector, reflect_dom_object};
|
||||
use dom::bindings::str::USVString;
|
||||
use dom::urlhelper::UrlHelper;
|
||||
|
||||
use url::{Host, Url, UrlParser};
|
||||
use util::str::DOMString;
|
||||
|
||||
use std::borrow::ToOwned;
|
||||
|
||||
// https://url.spec.whatwg.org/#url
|
||||
#[dom_struct]
|
||||
pub struct URL {
|
||||
reflector_: Reflector,
|
||||
|
||||
// https://url.spec.whatwg.org/#concept-urlutils-url
|
||||
url: Url,
|
||||
}
|
||||
|
||||
impl URL {
|
||||
fn new_inherited(url: Url) -> URL {
|
||||
URL {
|
||||
reflector_: Reflector::new(),
|
||||
url: url,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn new(global: GlobalRef, url: Url) -> Root<URL> {
|
||||
reflect_dom_object(box URL::new_inherited(url),
|
||||
global, URLBinding::Wrap)
|
||||
}
|
||||
}
|
||||
|
||||
impl URL {
|
||||
// https://url.spec.whatwg.org/#constructors
|
||||
pub fn Constructor(global: GlobalRef, url: USVString,
|
||||
base: Option<USVString>)
|
||||
-> Fallible<Root<URL>> {
|
||||
let parsed_base = match base {
|
||||
None => {
|
||||
// Step 1.
|
||||
None
|
||||
},
|
||||
Some(base) =>
|
||||
// Step 2.1.
|
||||
match Url::parse(&base.0) {
|
||||
Ok(base) => Some(base),
|
||||
Err(error) => {
|
||||
// Step 2.2.
|
||||
return Err(Error::Type(format!("could not parse base: {}", error)));
|
||||
}
|
||||
}
|
||||
};
|
||||
// Step 3.
|
||||
let parsed_url = match parser_with_base(parsed_base.as_ref()).parse(&url.0) {
|
||||
Ok(url) => url,
|
||||
Err(error) => {
|
||||
// Step 4.
|
||||
return Err(Error::Type(format!("could not parse URL: {}", error)));
|
||||
}
|
||||
};
|
||||
// Steps 5-8.
|
||||
Ok(URL::new(global, parsed_url))
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-url-domaintoasciidomain
|
||||
pub fn DomainToASCII(_: GlobalRef, origin: USVString) -> USVString {
|
||||
// Step 1.
|
||||
let ascii_domain = Host::parse(&origin.0);
|
||||
if let Ok(Host::Domain(string)) = ascii_domain {
|
||||
// Step 3.
|
||||
USVString(string.to_owned())
|
||||
} else {
|
||||
// Step 2.
|
||||
USVString("".to_owned())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> URLMethods for &'a URL {
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hash
|
||||
fn Hash(self) -> USVString {
|
||||
UrlHelper::Hash(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-host
|
||||
fn Host(self) -> USVString {
|
||||
UrlHelper::Host(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hostname
|
||||
fn Hostname(self) -> USVString {
|
||||
UrlHelper::Hostname(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-href
|
||||
fn Href(self) -> USVString {
|
||||
UrlHelper::Href(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-password
|
||||
fn Password(self) -> USVString {
|
||||
UrlHelper::Password(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-pathname
|
||||
fn Pathname(self) -> USVString {
|
||||
UrlHelper::Pathname(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-port
|
||||
fn Port(self) -> USVString {
|
||||
UrlHelper::Port(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-protocol
|
||||
fn Protocol(self) -> USVString {
|
||||
UrlHelper::Protocol(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-search
|
||||
fn Search(self) -> USVString {
|
||||
UrlHelper::Search(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#URLUtils-stringification-behavior
|
||||
fn Stringifier(self) -> DOMString {
|
||||
self.Href().0
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-username
|
||||
fn Username(self) -> USVString {
|
||||
UrlHelper::Username(&self.url)
|
||||
}
|
||||
}
|
||||
|
||||
fn parser_with_base<'a>(base: Option<&'a Url>) -> UrlParser<'a> {
|
||||
let mut parser = UrlParser::new();
|
||||
if let Some(base) = base {
|
||||
parser.base_url(base);
|
||||
}
|
||||
parser
|
||||
}
|
|
@ -7,24 +7,11 @@ use dom::bindings::str::USVString;
|
|||
use url::{Url, SchemeData};
|
||||
|
||||
use std::borrow::ToOwned;
|
||||
use std::fmt::Write;
|
||||
|
||||
pub struct UrlHelper;
|
||||
|
||||
impl UrlHelper {
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-href
|
||||
pub fn Href(url: &Url) -> USVString {
|
||||
USVString(url.serialize())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-search
|
||||
pub fn Search(url: &Url) -> USVString {
|
||||
USVString(match url.query {
|
||||
None => "".to_owned(),
|
||||
Some(ref query) if query.is_empty() => "".to_owned(),
|
||||
Some(ref query) => format!("?{}", query)
|
||||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hash
|
||||
pub fn Hash(url: &Url) -> USVString {
|
||||
USVString(match url.fragment {
|
||||
|
@ -34,6 +21,35 @@ impl UrlHelper {
|
|||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-host
|
||||
pub fn Host(url: &Url) -> USVString {
|
||||
USVString(match url.scheme_data {
|
||||
SchemeData::NonRelative(..) => "".to_owned(),
|
||||
SchemeData::Relative(ref scheme_data) => {
|
||||
let mut host = scheme_data.host.serialize();
|
||||
if let Some(port) = scheme_data.port {
|
||||
write!(host, ":{}", port).unwrap();
|
||||
}
|
||||
host
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hostname
|
||||
pub fn Hostname(url: &Url) -> USVString {
|
||||
USVString(url.serialize_host().unwrap_or_else(|| "".to_owned()))
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-href
|
||||
pub fn Href(url: &Url) -> USVString {
|
||||
USVString(url.serialize())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-password
|
||||
pub fn Password(url: &Url) -> USVString {
|
||||
USVString(url.password().unwrap_or("").to_owned())
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-pathname
|
||||
pub fn Pathname(url: &Url) -> USVString {
|
||||
// FIXME: Url null check is skipped for now
|
||||
|
@ -43,6 +59,19 @@ impl UrlHelper {
|
|||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-port
|
||||
pub fn Port(url: &Url) -> USVString {
|
||||
USVString(match url.port() {
|
||||
None => "".to_owned(),
|
||||
Some(port) => port.to_string(),
|
||||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-protocol
|
||||
pub fn Protocol(url: &Url) -> USVString {
|
||||
USVString(format!("{}:", url.scheme.clone()))
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#same-origin
|
||||
pub fn SameOrigin(urlA: &Url, urlB: &Url) -> bool {
|
||||
if urlA.host() != urlB.host() {
|
||||
|
@ -56,4 +85,18 @@ impl UrlHelper {
|
|||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-search
|
||||
pub fn Search(url: &Url) -> USVString {
|
||||
USVString(match url.query {
|
||||
None => "".to_owned(),
|
||||
Some(ref query) if query.is_empty() => "".to_owned(),
|
||||
Some(ref query) => format!("?{}", query)
|
||||
})
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-username
|
||||
pub fn Username(url: &Url) -> USVString {
|
||||
USVString(url.username().unwrap_or("").to_owned())
|
||||
}
|
||||
}
|
||||
|
|
12
components/script/dom/webidls/URL.webidl
Normal file
12
components/script/dom/webidls/URL.webidl
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// https://url.spec.whatwg.org/#url
|
||||
[Constructor(USVString url, optional USVString base)/*,
|
||||
Exposed=(Window,Worker)*/]
|
||||
interface URL {
|
||||
static USVString domainToASCII(USVString domain);
|
||||
// static USVString domainToUnicode(USVString domain);
|
||||
};
|
||||
URL implements URLUtils;
|
|
@ -10,11 +10,17 @@ interface URLUtils {
|
|||
readonly attribute USVString href;
|
||||
//readonly attribute USVString origin;
|
||||
// attribute USVString protocol;
|
||||
readonly attribute USVString protocol;
|
||||
// attribute USVString username;
|
||||
readonly attribute USVString username;
|
||||
// attribute USVString password;
|
||||
readonly attribute USVString password;
|
||||
// attribute USVString host;
|
||||
readonly attribute USVString host;
|
||||
// attribute USVString hostname;
|
||||
readonly attribute USVString hostname;
|
||||
// attribute USVString port;
|
||||
readonly attribute USVString port;
|
||||
// attribute USVString pathname;
|
||||
readonly attribute USVString pathname;
|
||||
// attribute USVString search;
|
||||
|
|
|
@ -11,11 +11,15 @@ interface URLUtilsReadOnly {
|
|||
readonly attribute USVString href;
|
||||
//readonly attribute USVString origin;
|
||||
|
||||
//readonly attribute USVString protocol;
|
||||
//readonly attribute USVString host;
|
||||
//readonly attribute USVString hostname;
|
||||
//readonly attribute USVString port;
|
||||
//readonly attribute USVString pathname;
|
||||
readonly attribute USVString protocol;
|
||||
readonly attribute USVString host;
|
||||
readonly attribute USVString hostname;
|
||||
readonly attribute USVString port;
|
||||
readonly attribute USVString pathname;
|
||||
readonly attribute USVString search;
|
||||
readonly attribute USVString hash;
|
||||
|
||||
// This is only doing as well as gecko right now, bug 824857 is on file for
|
||||
// adding attribute stringifier support.
|
||||
stringifier;
|
||||
};
|
||||
|
|
|
@ -12,6 +12,7 @@ use dom::urlhelper::UrlHelper;
|
|||
use dom::workerglobalscope::WorkerGlobalScope;
|
||||
|
||||
use url::Url;
|
||||
use util::str::DOMString;
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#worker-locations
|
||||
#[dom_struct]
|
||||
|
@ -36,16 +37,49 @@ impl WorkerLocation {
|
|||
}
|
||||
|
||||
impl<'a> WorkerLocationMethods for &'a WorkerLocation {
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hash
|
||||
fn Hash(self) -> USVString {
|
||||
UrlHelper::Hash(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-host
|
||||
fn Host(self) -> USVString {
|
||||
UrlHelper::Host(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-hostname
|
||||
fn Hostname(self) -> USVString {
|
||||
UrlHelper::Hostname(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-href
|
||||
fn Href(self) -> USVString {
|
||||
UrlHelper::Href(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-pathname
|
||||
fn Pathname(self) -> USVString {
|
||||
UrlHelper::Pathname(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-port
|
||||
fn Port(self) -> USVString {
|
||||
UrlHelper::Port(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-protocol
|
||||
fn Protocol(self) -> USVString {
|
||||
UrlHelper::Protocol(&self.url)
|
||||
}
|
||||
|
||||
// https://url.spec.whatwg.org/#dom-urlutils-search
|
||||
fn Search(self) -> USVString {
|
||||
UrlHelper::Search(&self.url)
|
||||
}
|
||||
|
||||
fn Hash(self) -> USVString {
|
||||
UrlHelper::Hash(&self.url)
|
||||
// https://url.spec.whatwg.org/#URLUtils-stringification-behavior
|
||||
fn Stringifier(self) -> DOMString {
|
||||
self.Href().0
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
[open-url-worker-origin.htm]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[XMLHttpRequest: worker scripts, origin and referrer]
|
||||
expected: NOTRUN
|
||||
|
||||
[Referer header]
|
||||
expected: FAIL
|
||||
|
||||
[Origin header]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
[send-after-setting-document-domain.htm]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[loading documents from original origin after setting document.domain]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[send-authentication-basic-cors.htm]
|
||||
type: testharness
|
||||
[XMLHttpRequest: send() - "Basic" authenticated CORS requests with user name and password passed to open() (asserts failure)]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[send-authentication-basic-setrequestheader.htm]
|
||||
type: testharness
|
||||
[XMLHttpRequest: send() - "Basic" authenticated request using setRequestHeader()]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[location_host.html]
|
||||
type: testharness
|
||||
[location host]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[location_hostname.html]
|
||||
type: testharness
|
||||
[location hostname]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[location_pathname.html]
|
||||
type: testharness
|
||||
[location pathname]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[location_port.html]
|
||||
type: testharness
|
||||
[location port]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[location_protocol.html]
|
||||
type: testharness
|
||||
[location protocol]
|
||||
expected: FAIL
|
||||
|
|
@ -1,20 +1,5 @@
|
|||
[interfaces.html]
|
||||
type: testharness
|
||||
[URL interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: operation domainToASCII(ScalarValueString)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: operation domainToUnicode(ScalarValueString)]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -54,60 +39,12 @@
|
|||
[URL interface: attribute hash]
|
||||
expected: FAIL
|
||||
|
||||
[URL must be primary interface of new URL("http://foo")]
|
||||
expected: FAIL
|
||||
|
||||
[Stringification of new URL("http://foo")]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "domainToASCII" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: calling domainToASCII(ScalarValueString) on new URL("http://foo") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "domainToUnicode" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: calling domainToUnicode(ScalarValueString) on new URL("http://foo") with too few arguments must throw TypeError]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "href" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "origin" with the proper type (3)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "protocol" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "username" with the proper type (5)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "password" with the proper type (6)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "host" with the proper type (7)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "hostname" with the proper type (8)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "port" with the proper type (9)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "pathname" with the proper type (10)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "search" with the proper type (11)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "searchParams" with the proper type (12)]
|
||||
expected: FAIL
|
||||
|
||||
[URL interface: new URL("http://foo") must inherit property "hash" with the proper type (13)]
|
||||
expected: FAIL
|
||||
|
||||
[URLSearchParams interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,812 +1,38 @@
|
|||
[url-constructor.html]
|
||||
type: testharness
|
||||
[Parsing: <http://example\t.\norg> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://user:pass@foo:21/bar;par?b#c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:foo.com> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <\t :foo.com \n> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: < foo.com > against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <a:\t foo.com> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:21/ b ? d # e > against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:0/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:00000000000000/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:00000000000000000000080/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:b/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f: /c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:\n/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:fifty-two/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f:999999/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://f: 21 / b ? d # e > against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: < \t> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:foo.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:foo.com\\> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:a> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:\\> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:#> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <#> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <#/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <#\\> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <#;?> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <?> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <:23> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </:23> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <::> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <::23> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo://> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://a:b@c:29/d> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http::@c:29> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://&a:foo(b\]c@d:2/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://::@c@d:2> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo.com:b@d/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo.com/\\@> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:\\\\foo.com\\> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:\\\\a\\b:c\\d@foo.com\\> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo:/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo:/bar.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo://///////> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo://///////bar.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <foo:////://///> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <c:/foo> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <//foo/bar> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo/path;a??e#f#g> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo/abcd?efgh?ijkl> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo/abcd#foo?bar> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <[61:24:74\]:98> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:[61:27\]/:foo> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[1::2\]:3:4> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://2001::1> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://2001::1\]> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://2001::1\]:80> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[2001::1\]> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[2001::1\]:80> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <madeupscheme:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftps:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <javascript:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <mailto:/example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <madeupscheme:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftps:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <javascript:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <mailto:example.com/> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </a/b/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </a/ /c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </a%2fc> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </a/%2f/c> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <#β> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:text/html,test#test> against <http://example.org/foo/bar>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:c:\\foo\\bar.html> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: < File:c|////foo\\bar.html> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <C|/foo/bar> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </C|\\foo\\bar> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <//C|/foo/bar> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <//server/file> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <\\\\server\\file> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </\\server/file> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:///foo/bar.txt> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:///home/me> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <//> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <///> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <///test> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file://test> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file://localhost> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file://localhost/> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file://localhost/test> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <test> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:test> against <file:///tmp/mock/path>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/././foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/./.foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/.> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/./> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar/..> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar/../> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/..bar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar/../ton> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar/../ton/../../a> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/../../..> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/../../../ton> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/%2e> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/%2e%2> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/%2e./%2e%2e/.%2e/%2e.bar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com////../..> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar//../..> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo/bar//..> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/%20foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%2> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%2zbar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%2©zbar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%41%7a> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo\t%91> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo%00%51> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/(%28:%3A%29)> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/%3A%3a%3C%3c> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/foo\tbar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com\\\\foo\\\\bar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/%7Ffp3%3Eju%3Dduvgw%3Dd> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/@asdf%40> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/你好你好> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com/‥/foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com//foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example.com//foo//bar> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.google.com/foo?bar=baz#> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.google.com/foo?bar=baz# »> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:test# »> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[www.google.com\]/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.google.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://192.0x00A80001> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www/foo%2Ehtml> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www/foo/%2E/html> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://user:pass@/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%25DOMAIN:foobar@foodomain.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:\\\\www.google.com\\foo> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo:81/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <httpa://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo:-80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https://foo:443/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp://foo:21/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher://foo:70/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher://foo:443/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws://foo:81/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws://foo:443/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws://foo:815/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss://foo:80/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss://foo:81/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss://foo:443/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss://foo:815/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <madeupscheme:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <file:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftps:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <javascript:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <mailto:/example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftp:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <madeupscheme:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ftps:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <gopher:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <ws:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <wss:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <data:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <javascript:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <mailto:example.com/> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:a:b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/a:b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://a:b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://@pple.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http::b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/:b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://:b@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/:@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://user@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <https:@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:a:b@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/a:b@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://a:b@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http::@/www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:a:@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/a:@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://a:@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.@pple.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:@:www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http:/@:www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://@:www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://:@www.example.com> against <about:blank>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <.> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <..> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <./test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <../test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <../aaa/test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <../../test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <中/test.txt> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.example2.com> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <//www.example2.com> against <http://www.example.com/test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://ExAmPlE.CoM> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://example example.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://Goo%20 goo%7C|.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[\]> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[:\]> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://GOO goo.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://GOOgoo.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://www.foo。bar.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://zyx.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%ef%b7%90zyx.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://Go.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%41.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%ef%bc%85%ef%bc%94%ef%bc%91.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%00.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%ef%bc%85%ef%bc%90%ef%bc%90.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://你好你好> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%zz%66%a.com> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%25> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://hello%00> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%30%78%63%30%2e%30%32%35%30.01> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%30%78%63%30%2e%30%32%35%30.01%2e> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://192.168.0.257> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://%3g%78%63%30%2e%30%32%35%30%2E.01> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://192.168.0.1 hello> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://0Xc0.0250.01> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://[google.com\]> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <http://foo:💩@example.com/bar> against <http://other.com/>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <x> against <test:test>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </some/path> against <http://user@example.org/smth>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: <> against <http://user:pass@example.org:21/smth>]
|
||||
expected: FAIL
|
||||
|
||||
[Parsing: </some/path> against <http://user:pass@example.org:21/smth>]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[WorkerLocation.htm]
|
||||
type: testharness
|
||||
[ WorkerLocation object ]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[WorkerLocation_pathname.htm]
|
||||
type: testharness
|
||||
[ WorkerLocation URL decomposition IDL attribute: pathname ]
|
||||
expected: FAIL
|
||||
|
|
@ -54,39 +54,9 @@
|
|||
[WorkerLocation interface: attribute origin]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: attribute protocol]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: attribute host]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: attribute hostname]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: attribute port]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: attribute pathname]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "origin" with the proper type (1)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "protocol" with the proper type (2)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "host" with the proper type (3)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "hostname" with the proper type (4)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "port" with the proper type (5)]
|
||||
expected: FAIL
|
||||
|
||||
[WorkerLocation interface: self.location must inherit property "pathname" with the proper type (6)]
|
||||
expected: FAIL
|
||||
|
||||
[DedicatedWorkerGlobalScope interface: self must inherit property "postMessage" with the proper type (0)]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
[members.html]
|
||||
type: testharness
|
||||
[members of WorkerLocation]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[setting-members.html]
|
||||
type: testharness
|
||||
[setting members of WorkerLocation]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[worker-separate-file.html]
|
||||
type: testharness
|
||||
[location with a worker in separate file]
|
||||
expected: FAIL
|
||||
|
|
@ -193,6 +193,7 @@ var interfaceNamesInGlobalScope = [
|
|||
"TextEncoder",
|
||||
"TreeWalker",
|
||||
"UIEvent",
|
||||
"URL",
|
||||
"URLSearchParams",
|
||||
"ValidityState",
|
||||
"WebGLRenderingContext",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue