diff --git a/components/script/dom/bindings/xmlname.rs b/components/script/dom/bindings/xmlname.rs index 12c10620dd0..b4e6aab289f 100644 --- a/components/script/dom/bindings/xmlname.rs +++ b/components/script/dom/bindings/xmlname.rs @@ -10,15 +10,10 @@ use html5ever::{LocalName, Namespace, Prefix}; /// Validate a qualified name. See https://dom.spec.whatwg.org/#validate for details. pub fn validate_qualified_name(qualified_name: &str) -> ErrorResult { + // Step 2. match xml_name_type(qualified_name) { - XMLName::InvalidXMLName => { - // Step 1. - Err(Error::InvalidCharacter) - }, - XMLName::Name => { - // Step 2. - Err(Error::Namespace) - }, + XMLName::InvalidXMLName => Err(Error::InvalidCharacter), + XMLName::Name => Err(Error::InvalidCharacter), // see whatwg/dom#671 XMLName::QName => Ok(()), } } diff --git a/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini b/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini index 3ed9d9e9c90..f0187591dc8 100644 --- a/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini +++ b/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini @@ -12,78 +12,12 @@ [createDocument test: "http://example.com/","ெ:a",null,"INVALID_CHARACTER_ERR"] expected: FAIL - [createDocument test: null,":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: null,"foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: null,"f:o:o",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: null,":",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: undefined,":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: undefined,"foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: undefined,"f::oo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://example.com/",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://example.com/","f:o:o",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://example.com/","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://example.com/","f::oo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - [createDocument test: "http://example.com/","a:0",null,"INVALID_CHARACTER_ERR"] expected: FAIL [createDocument test: "http://example.com/","a:ெ",null,"INVALID_CHARACTER_ERR"] expected: FAIL - [createDocument test: "http://example.com/","prefix::local",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "/",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "/","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://www.w3.org/XML/1998/namespace",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://www.w3.org/XML/1998/namespace","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://www.w3.org/2000/xmlns/",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "http://www.w3.org/2000/xmlns/","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "foo:",":foo",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - - [createDocument test: "foo:","foo:",null,"INVALID_CHARACTER_ERR"] - expected: FAIL - [createDocument test: "http://example.com/","a:̀",null,"INVALID_CHARACTER_ERR"] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocumentType.html.ini b/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocumentType.html.ini deleted file mode 100644 index 95698e97076..00000000000 --- a/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocumentType.html.ini +++ /dev/null @@ -1,11 +0,0 @@ -[DOMImplementation-createDocumentType.html] - type: testharness - [createDocumentType(":foo", "", "") should throw INVALID_CHARACTER_ERR] - expected: FAIL - - [createDocumentType("foo:", "", "") should throw INVALID_CHARACTER_ERR] - expected: FAIL - - [createDocumentType("prefix::local", "", "") should throw INVALID_CHARACTER_ERR] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini b/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini index ffb56232172..2f94af30f30 100644 --- a/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini +++ b/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini @@ -102,123 +102,6 @@ [createElementNS test in XML document: "foo:","foo:","NAMESPACE_ERR"] expected: FAIL - [createElementNS test in HTML document: null,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: null,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: null,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: null,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: null,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: null,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: null,"f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: null,"f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: null,"f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: null,":","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: null,":","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: null,":","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: undefined,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: undefined,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: undefined,":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: undefined,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: undefined,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: undefined,"foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: undefined,"f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: undefined,"f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: undefined,"f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://example.com/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://example.com/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://example.com/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://example.com/","f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://example.com/","f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://example.com/","f:o:o","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://example.com/","f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://example.com/","f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://example.com/","f::oo","INVALID_CHARACTER_ERR"] - expected: FAIL - [createElementNS test in HTML document: "http://example.com/","a:0","INVALID_CHARACTER_ERR"] expected: FAIL @@ -237,87 +120,6 @@ [createElementNS test in XHTML document: "http://example.com/","a:ெ","INVALID_CHARACTER_ERR"] expected: FAIL - [createElementNS test in HTML document: "http://example.com/","prefix::local","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://example.com/","prefix::local","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://example.com/","prefix::local","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://www.w3.org/2000/xmlns/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "foo:",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "foo:",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "foo:",":foo","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in HTML document: "foo:","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XML document: "foo:","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - - [createElementNS test in XHTML document: "foo:","foo:","INVALID_CHARACTER_ERR"] - expected: FAIL - [createElementNS test in HTML document: "http://example.com/","a:̀","INVALID_CHARACTER_ERR"] expected: FAIL diff --git a/tests/wpt/metadata/dom/nodes/attributes.html.ini b/tests/wpt/metadata/dom/nodes/attributes.html.ini deleted file mode 100644 index b3d17b82df7..00000000000 --- a/tests/wpt/metadata/dom/nodes/attributes.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[attributes.html] - type: testharness - [When qualifiedName does not match the QName production, an INVALID_CHARACTER_ERR exception is to be thrown.] - expected: FAIL - -