LibWeb: Update validate_and_extract and its users to the latest spec

This commit is contained in:
Tim Ledbetter 2025-06-19 07:32:16 +01:00 committed by Tim Ledbetter
commit 4593c28769
Notes: github-actions[bot] 2025-06-19 10:02:24 +00:00
11 changed files with 1744 additions and 25 deletions

View file

@ -2138,8 +2138,8 @@ WebIDL::ExceptionOr<GC::Ref<Element>> Document::create_element(String const& loc
// https://dom.spec.whatwg.org/#internal-createelementns-steps
WebIDL::ExceptionOr<GC::Ref<Element>> Document::create_element_ns(Optional<FlyString> const& namespace_, String const& qualified_name, Variant<String, ElementCreationOptions> const& options)
{
// 1. Let namespace, prefix, and localName be the result of passing namespace and qualifiedName to validate and extract.
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name));
// 1. Let (namespace, prefix, localName) be the result of validating and extracting namespace and qualifiedName given "element".
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name, ValidationContext::Element));
// 2. Let is be null.
Optional<String> is_value;
@ -4507,11 +4507,10 @@ WebIDL::ExceptionOr<GC::Ref<Attr>> Document::create_attribute(String const& loca
// https://dom.spec.whatwg.org/#dom-document-createattributens
WebIDL::ExceptionOr<GC::Ref<Attr>> Document::create_attribute_ns(Optional<FlyString> const& namespace_, String const& qualified_name)
{
// 1. Let namespace, prefix, and localName be the result of passing namespace and qualifiedName to validate and extract.
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name));
// 1. Let (namespace, prefix, localName) be the result of validating and extracting namespace and qualifiedName given "attribute".
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name, ValidationContext::Attribute));
// 2. Return a new attribute whose namespace is namespace, namespace prefix is prefix, local name is localName, and node document is this.
return Attr::create(*this, extracted_qualified_name);
}

View file

@ -236,8 +236,56 @@ WebIDL::ExceptionOr<void> Element::set_attribute(FlyString const& name, String c
return {};
}
// https://dom.spec.whatwg.org/#valid-namespace-prefix
bool is_valid_namespace_prefix(FlyString const& prefix)
{
// A string is a valid namespace prefix if its length is at least 1 and it does not contain ASCII whitespace, U+0000 NULL, U+002F (/), or U+003E (>).
constexpr Array<u32, 8> INVALID_NAMESPACE_PREFIX_CHARACTERS { '\t', '\n', '\f', '\r', ' ', '\0', '/', '>' };
return !prefix.is_empty() && !prefix.code_points().contains_any_of(INVALID_NAMESPACE_PREFIX_CHARACTERS);
}
bool is_valid_attribute_local_name(FlyString const& local_name)
{
// A string is a valid attribute local name if its length is at least 1 and it does not contain ASCII whitespace, U+0000 NULL, U+002F (/), U+003D (=), or U+003E (>).
constexpr Array<u32, 9> INVALID_ATTRIBUTE_LOCAL_NAME_CHARACTERS { '\t', '\n', '\f', '\r', ' ', '\0', '/', '=', '>' };
return !local_name.is_empty() && !local_name.code_points().contains_any_of(INVALID_ATTRIBUTE_LOCAL_NAME_CHARACTERS);
}
// https://dom.spec.whatwg.org/#valid-element-local-name
bool is_valid_element_local_name(FlyString const& name)
{
// 1. If names length is 0, then return false.
if (name.is_empty())
return false;
// 2. If names 0th code point is an ASCII alpha, then:
auto first_code_point = *name.code_points().begin().peek();
if (is_ascii_alpha(first_code_point)) {
// 1. If name contains ASCII whitespace, U+0000 NULL, U+002F (/), or U+003E (>), then return false.
constexpr Array<u32, 8> INVALID_CHARACTERS { '\t', '\n', '\f', '\r', ' ', '\0', '/', '>' };
if (name.code_points().contains_any_of(INVALID_CHARACTERS))
return false;
// 2. Return true.
return true;
}
// 3. If names 0th code point is not U+003A (:), U+005F (_), or in the range U+0080 to U+10FFFF, inclusive, then return false.
if (!first_is_one_of(first_code_point, 0x003Au, 0x005Fu) && (first_code_point < 0x0080 || first_code_point > 0x10FFFF))
return false;
// 4. If names subsequent code points, if any, are not ASCII alphas, ASCII digits, U+002D (-), U+002E (.), U+003A (:), U+005F (_), or in the range U+0080 to U+10FFFF, inclusive, then return false.
for (auto code_point : name.code_points().unicode_substring_view(1)) {
if (!is_ascii_alpha(code_point) && !is_ascii_digit(code_point) && !first_is_one_of(code_point, 0X002Du, 0X002Eu, 0X003Au, 0X005Fu) && (code_point < 0x0080 || code_point > 0x10FFFF))
return false;
}
// 5. Return true.
return true;
}
// https://dom.spec.whatwg.org/#validate-and-extract
WebIDL::ExceptionOr<QualifiedName> validate_and_extract(JS::Realm& realm, Optional<FlyString> namespace_, FlyString const& qualified_name)
WebIDL::ExceptionOr<QualifiedName> validate_and_extract(JS::Realm& realm, Optional<FlyString> namespace_, FlyString const& qualified_name, ValidationContext context)
{
// To validate and extract a namespace and qualifiedName, run these steps:
@ -245,53 +293,70 @@ WebIDL::ExceptionOr<QualifiedName> validate_and_extract(JS::Realm& realm, Option
if (namespace_.has_value() && namespace_.value().is_empty())
namespace_ = {};
// 2. Validate qualifiedName.
TRY(Document::validate_qualified_name(realm, qualified_name));
// 3. Let prefix be null.
// 2. Let prefix be null.
Optional<FlyString> prefix = {};
// 4. Let localName be qualifiedName.
// 3. Let localName be qualifiedName.
auto local_name = qualified_name;
// 5. If qualifiedName contains a U+003A (:):
if (qualified_name.bytes_as_string_view().contains(':')) {
// 4. If qualifiedName contains a U+003A (:):
if (qualified_name.code_points().contains(':')) {
// 1. Let splitResult be the result of running strictly split given qualifiedName and U+003A (:).
// FIXME: Use the "strictly split" algorithm
auto split_result = qualified_name.bytes_as_string_view().split_view(':');
size_t index = 0;
for (auto code_point : qualified_name.code_points()) {
if (code_point == ':')
break;
index++;
}
// 2. Set prefix to splitResult[0].
prefix = MUST(FlyString::from_utf8(split_result[0]));
auto prefix_view = qualified_name.code_points().unicode_substring_view(0, index);
prefix = MUST(FlyString::from_utf8(prefix_view.as_string()));
// 3. Set localName to splitResult[1].
local_name = MUST(FlyString::from_utf8(split_result[1]));
auto local_name_view = qualified_name.code_points().unicode_substring_view(index + 1);
local_name = MUST(FlyString::from_utf8(local_name_view.as_string()));
}
// 6. If prefix is non-null and namespace is null, then throw a "NamespaceError" DOMException.
// 5. If prefix is not a valid namespace prefix, then throw an "InvalidCharacterError" DOMException.
if (prefix.has_value() && !is_valid_namespace_prefix(*prefix))
return WebIDL::InvalidCharacterError::create(realm, "Prefix not a valid namespace prefix."_string);
// 6. If context is "attribute" and localName is not a valid attribute local name, then throw an "InvalidCharacterError" DOMException.
if (context == ValidationContext::Attribute && !is_valid_attribute_local_name(local_name))
return WebIDL::InvalidCharacterError::create(realm, "Local name not a valid attribute local name."_string);
// 7. If context is "element" and localName is not a valid element local name, then throw an "InvalidCharacterError" DOMException.
if (context == ValidationContext::Element && !is_valid_element_local_name(local_name))
return WebIDL::InvalidCharacterError::create(realm, "Local name not a valid element local name."_string);
// 8. If prefix is non-null and namespace is null, then throw a "NamespaceError" DOMException.
if (prefix.has_value() && !namespace_.has_value())
return WebIDL::NamespaceError::create(realm, "Prefix is non-null and namespace is null."_string);
// 7. If prefix is "xml" and namespace is not the XML namespace, then throw a "NamespaceError" DOMException.
// 9. If prefix is "xml" and namespace is not the XML namespace, then throw a "NamespaceError" DOMException.
if (prefix == "xml"sv && namespace_ != Namespace::XML)
return WebIDL::NamespaceError::create(realm, "Prefix is 'xml' and namespace is not the XML namespace."_string);
// 8. If either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace, then throw a "NamespaceError" DOMException.
// 10. If either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace, then throw a "NamespaceError" DOMException.
if ((qualified_name == "xmlns"sv || prefix == "xmlns"sv) && namespace_ != Namespace::XMLNS)
return WebIDL::NamespaceError::create(realm, "Either qualifiedName or prefix is 'xmlns' and namespace is not the XMLNS namespace."_string);
// 9. If namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns", then throw a "NamespaceError" DOMException.
// 11. If namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns", then throw a "NamespaceError" DOMException.
if (namespace_ == Namespace::XMLNS && !(qualified_name == "xmlns"sv || prefix == "xmlns"sv))
return WebIDL::NamespaceError::create(realm, "Namespace is the XMLNS namespace and neither qualifiedName nor prefix is 'xmlns'."_string);
// 10. Return namespace, prefix, and localName.
// 12. Return (namespace, prefix, localName).
return QualifiedName { local_name, prefix, namespace_ };
}
// https://dom.spec.whatwg.org/#dom-element-setattributens
WebIDL::ExceptionOr<void> Element::set_attribute_ns(Optional<FlyString> const& namespace_, FlyString const& qualified_name, String const& value)
{
// 1. Let namespace, prefix, and localName be the result of passing namespace and qualifiedName to validate and extract.
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name));
// 1. Let (namespace, prefix, localName) be the result of validating and extracting namespace and qualifiedName given "element".
auto extracted_qualified_name = TRY(validate_and_extract(realm(), namespace_, qualified_name, ValidationContext::Element));
// 2. Set an attribute value for this using localName, value, and also prefix and namespace.
set_attribute_value(extracted_qualified_name.local_name(), value, extracted_qualified_name.prefix(), extracted_qualified_name.namespace_());

View file

@ -676,6 +676,14 @@ inline bool Element::has_pseudo_element(CSS::PseudoElement type) const
return pseudo_element.value()->layout_node;
}
WebIDL::ExceptionOr<QualifiedName> validate_and_extract(JS::Realm&, Optional<FlyString> namespace_, FlyString const& qualified_name);
bool is_valid_namespace_prefix(FlyString const&);
bool is_valid_attribute_local_name(FlyString const&);
bool is_valid_element_local_name(FlyString const&);
enum class ValidationContext {
Attribute,
Element,
};
WebIDL::ExceptionOr<QualifiedName> validate_and_extract(JS::Realm&, Optional<FlyString> namespace_, FlyString const& qualified_name, ValidationContext context);
}

View file

@ -120,7 +120,7 @@ void XMLDocumentBuilder::element_start(const XML::Name& name, HashMap<XML::Name,
auto namespace_ = namespace_for_name(name);
auto qualified_name_or_error = DOM::validate_and_extract(m_document->realm(), namespace_, FlyString(MUST(String::from_byte_string(name))));
auto qualified_name_or_error = DOM::validate_and_extract(m_document->realm(), namespace_, FlyString(MUST(String::from_byte_string(name))), DOM::ValidationContext::Element);
if (qualified_name_or_error.is_error()) {
m_has_error = true;

View file

@ -0,0 +1,454 @@
Harness status: OK
Found 448 tests
426 Pass
22 Fail
Pass DOMImplementation.createDocument(namespace, qualifiedName, doctype)
Pass createDocument test: null,null,null,null
Pass createDocument test: metadata for null,null,null
Pass createDocument test: characterSet aliases for null,null,null
Pass createDocument test: null,undefined,null,null
Pass createDocument test: metadata for null,undefined,null
Pass createDocument test: characterSet aliases for null,undefined,null
Pass createDocument test: null,"foo",null,null
Pass createDocument test: metadata for null,"foo",null
Pass createDocument test: characterSet aliases for null,"foo",null
Pass createDocument test: null,"1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"f1oo",null,null
Pass createDocument test: metadata for null,"f1oo",null
Pass createDocument test: characterSet aliases for null,"f1oo",null
Pass createDocument test: null,"foo1",null,null
Pass createDocument test: metadata for null,"foo1",null
Pass createDocument test: characterSet aliases for null,"foo1",null
Pass createDocument test: null,"ெfoo",null,null
Pass createDocument test: metadata for null,"ெfoo",null
Pass createDocument test: characterSet aliases for null,"ெfoo",null
Pass createDocument test: null,";foo",null,null
Pass createDocument test: metadata for null,";foo",null
Pass createDocument test: characterSet aliases for null,";foo",null
Pass createDocument test: null,"}foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"f}oo",null,null
Pass createDocument test: metadata for null,"f}oo",null
Pass createDocument test: characterSet aliases for null,"f}oo",null
Pass createDocument test: null,"foo}",null,null
Pass createDocument test: metadata for null,"foo}",null
Pass createDocument test: characterSet aliases for null,"foo}",null
Pass createDocument test: null,"\ufffffoo",null,null
Pass createDocument test: metadata for null,"\ufffffoo",null
Pass createDocument test: characterSet aliases for null,"\ufffffoo",null
Pass createDocument test: null,"f\uffffoo",null,null
Pass createDocument test: metadata for null,"f\uffffoo",null
Pass createDocument test: characterSet aliases for null,"f\uffffoo",null
Pass createDocument test: null,"foo\uffff",null,null
Pass createDocument test: metadata for null,"foo\uffff",null
Pass createDocument test: characterSet aliases for null,"foo\uffff",null
Pass createDocument test: null,"<foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"foo>",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"<foo>",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"f<oo",null,null
Pass createDocument test: metadata for null,"f<oo",null
Pass createDocument test: characterSet aliases for null,"f<oo",null
Pass createDocument test: null,"^^",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"fo o",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"-foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,".foo",null,"INVALID_CHARACTER_ERR"
Fail createDocument test: null,":foo",null,null
Fail createDocument test: metadata for null,":foo",null
Fail createDocument test: characterSet aliases for null,":foo",null
Pass createDocument test: null,"f:oo",null,"NAMESPACE_ERR"
Pass createDocument test: null,"foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"f:o:o",null,"NAMESPACE_ERR"
Pass createDocument test: null,":",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: null,"xml",null,null
Pass createDocument test: metadata for null,"xml",null
Pass createDocument test: characterSet aliases for null,"xml",null
Pass createDocument test: null,"xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: null,"xmlfoo",null,null
Pass createDocument test: metadata for null,"xmlfoo",null
Pass createDocument test: characterSet aliases for null,"xmlfoo",null
Pass createDocument test: null,"xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: null,"xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: null,"xmlfoo:bar",null,"NAMESPACE_ERR"
Pass createDocument test: null,"null:xml",null,"NAMESPACE_ERR"
Pass createDocument test: "",null,null,null
Pass createDocument test: metadata for "",null,null
Pass createDocument test: characterSet aliases for "",null,null
Fail createDocument test: "",":foo",null,null
Fail createDocument test: metadata for "",":foo",null
Fail createDocument test: characterSet aliases for "",":foo",null
Pass createDocument test: "","f:oo",null,"NAMESPACE_ERR"
Pass createDocument test: "","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: undefined,null,null,null
Pass createDocument test: metadata for undefined,null,null
Pass createDocument test: characterSet aliases for undefined,null,null
Pass createDocument test: undefined,undefined,null,null
Pass createDocument test: metadata for undefined,undefined,null
Pass createDocument test: characterSet aliases for undefined,undefined,null
Pass createDocument test: undefined,"foo",null,null
Pass createDocument test: metadata for undefined,"foo",null
Pass createDocument test: characterSet aliases for undefined,"foo",null
Pass createDocument test: undefined,"1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: undefined,"f1oo",null,null
Pass createDocument test: metadata for undefined,"f1oo",null
Pass createDocument test: characterSet aliases for undefined,"f1oo",null
Pass createDocument test: undefined,"foo1",null,null
Pass createDocument test: metadata for undefined,"foo1",null
Pass createDocument test: characterSet aliases for undefined,"foo1",null
Fail createDocument test: undefined,":foo",null,null
Fail createDocument test: metadata for undefined,":foo",null
Fail createDocument test: characterSet aliases for undefined,":foo",null
Pass createDocument test: undefined,"f:oo",null,"NAMESPACE_ERR"
Pass createDocument test: undefined,"foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: undefined,"f::oo",null,"NAMESPACE_ERR"
Pass createDocument test: undefined,"xml",null,null
Pass createDocument test: metadata for undefined,"xml",null
Pass createDocument test: characterSet aliases for undefined,"xml",null
Pass createDocument test: undefined,"xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: undefined,"xmlfoo",null,null
Pass createDocument test: metadata for undefined,"xmlfoo",null
Pass createDocument test: characterSet aliases for undefined,"xmlfoo",null
Pass createDocument test: undefined,"xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: undefined,"xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: undefined,"xmlfoo:bar",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","foo",null,null
Pass createDocument test: metadata for "http://example.com/","foo",null
Pass createDocument test: characterSet aliases for "http://example.com/","foo",null
Pass createDocument test: "http://example.com/","1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","<foo>",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","fo<o",null,null
Pass createDocument test: metadata for "http://example.com/","fo<o",null
Pass createDocument test: characterSet aliases for "http://example.com/","fo<o",null
Pass createDocument test: "http://example.com/","-foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/",".foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","f1oo",null,null
Pass createDocument test: metadata for "http://example.com/","f1oo",null
Pass createDocument test: characterSet aliases for "http://example.com/","f1oo",null
Pass createDocument test: "http://example.com/","foo1",null,null
Pass createDocument test: metadata for "http://example.com/","foo1",null
Pass createDocument test: characterSet aliases for "http://example.com/","foo1",null
Fail createDocument test: "http://example.com/",":foo",null,null
Fail createDocument test: metadata for "http://example.com/",":foo",null
Fail createDocument test: characterSet aliases for "http://example.com/",":foo",null
Pass createDocument test: "http://example.com/","f:oo",null,null
Pass createDocument test: metadata for "http://example.com/","f:oo",null
Pass createDocument test: characterSet aliases for "http://example.com/","f:oo",null
Pass createDocument test: "http://example.com/","f:o:o",null,null
Pass createDocument test: metadata for "http://example.com/","f:o:o",null
Pass createDocument test: characterSet aliases for "http://example.com/","f:o:o",null
Pass createDocument test: "http://example.com/","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","f::oo",null,null
Pass createDocument test: metadata for "http://example.com/","f::oo",null
Pass createDocument test: characterSet aliases for "http://example.com/","f::oo",null
Pass createDocument test: "http://example.com/","a:0",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","0:a",null,null
Pass createDocument test: metadata for "http://example.com/","0:a",null
Pass createDocument test: characterSet aliases for "http://example.com/","0:a",null
Pass createDocument test: "http://example.com/","a:_",null,null
Pass createDocument test: metadata for "http://example.com/","a:_",null
Pass createDocument test: characterSet aliases for "http://example.com/","a:_",null
Pass createDocument test: "http://example.com/","a:ெ",null,null
Pass createDocument test: metadata for "http://example.com/","a:ெ",null
Pass createDocument test: characterSet aliases for "http://example.com/","a:ெ",null
Pass createDocument test: "http://example.com/","a:;",null,null
Pass createDocument test: metadata for "http://example.com/","a:;",null
Pass createDocument test: characterSet aliases for "http://example.com/","a:;",null
Pass createDocument test: "http://example.com/","a:̀",null,null
Pass createDocument test: metadata for "http://example.com/","a:̀",null
Pass createDocument test: characterSet aliases for "http://example.com/","a:̀",null
Pass createDocument test: "http://example.com/","ெ:a",null,null
Pass createDocument test: metadata for "http://example.com/","ெ:a",null
Pass createDocument test: characterSet aliases for "http://example.com/","ெ:a",null
Pass createDocument test: "http://example.com/","̀:a",null,null
Pass createDocument test: metadata for "http://example.com/","̀:a",null
Pass createDocument test: characterSet aliases for "http://example.com/","̀:a",null
Pass createDocument test: "http://example.com/",";:a",null,null
Pass createDocument test: metadata for "http://example.com/",";:a",null
Pass createDocument test: characterSet aliases for "http://example.com/",";:a",null
Pass createDocument test: "http://example.com/","a:aெ",null,null
Pass createDocument test: metadata for "http://example.com/","a:aெ",null
Pass createDocument test: characterSet aliases for "http://example.com/","a:aெ",null
Pass createDocument test: "http://example.com/","aெ:a",null,null
Pass createDocument test: metadata for "http://example.com/","aெ:a",null
Pass createDocument test: characterSet aliases for "http://example.com/","aெ:a",null
Pass createDocument test: "http://example.com/","xml:test",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","xmlns:test",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","test:xmlns",null,null
Pass createDocument test: metadata for "http://example.com/","test:xmlns",null
Pass createDocument test: characterSet aliases for "http://example.com/","test:xmlns",null
Pass createDocument test: "http://example.com/","xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","_:_",null,null
Pass createDocument test: metadata for "http://example.com/","_:_",null
Pass createDocument test: characterSet aliases for "http://example.com/","_:_",null
Pass createDocument test: "http://example.com/","_:h0",null,null
Pass createDocument test: metadata for "http://example.com/","_:h0",null
Pass createDocument test: characterSet aliases for "http://example.com/","_:h0",null
Pass createDocument test: "http://example.com/","_:test",null,null
Pass createDocument test: metadata for "http://example.com/","_:test",null
Pass createDocument test: characterSet aliases for "http://example.com/","_:test",null
Pass createDocument test: "http://example.com/","l_:_",null,null
Pass createDocument test: metadata for "http://example.com/","l_:_",null
Pass createDocument test: characterSet aliases for "http://example.com/","l_:_",null
Pass createDocument test: "http://example.com/","ns:_0",null,null
Pass createDocument test: metadata for "http://example.com/","ns:_0",null
Pass createDocument test: characterSet aliases for "http://example.com/","ns:_0",null
Pass createDocument test: "http://example.com/","ns:a0",null,null
Pass createDocument test: metadata for "http://example.com/","ns:a0",null
Pass createDocument test: characterSet aliases for "http://example.com/","ns:a0",null
Pass createDocument test: "http://example.com/","ns0:test",null,null
Pass createDocument test: metadata for "http://example.com/","ns0:test",null
Pass createDocument test: characterSet aliases for "http://example.com/","ns0:test",null
Pass createDocument test: "http://example.com/","a.b:c",null,null
Pass createDocument test: metadata for "http://example.com/","a.b:c",null
Pass createDocument test: characterSet aliases for "http://example.com/","a.b:c",null
Pass createDocument test: "http://example.com/","a-b:c",null,null
Pass createDocument test: metadata for "http://example.com/","a-b:c",null
Pass createDocument test: characterSet aliases for "http://example.com/","a-b:c",null
Pass createDocument test: "http://example.com/","xml",null,null
Pass createDocument test: metadata for "http://example.com/","xml",null
Pass createDocument test: characterSet aliases for "http://example.com/","xml",null
Pass createDocument test: "http://example.com/","XMLNS",null,null
Pass createDocument test: metadata for "http://example.com/","XMLNS",null
Pass createDocument test: characterSet aliases for "http://example.com/","XMLNS",null
Pass createDocument test: "http://example.com/","xmlfoo",null,null
Pass createDocument test: metadata for "http://example.com/","xmlfoo",null
Pass createDocument test: characterSet aliases for "http://example.com/","xmlfoo",null
Pass createDocument test: "http://example.com/","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","XML:foo",null,null
Pass createDocument test: metadata for "http://example.com/","XML:foo",null
Pass createDocument test: characterSet aliases for "http://example.com/","XML:foo",null
Pass createDocument test: "http://example.com/","xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://example.com/","XMLNS:foo",null,null
Pass createDocument test: metadata for "http://example.com/","XMLNS:foo",null
Pass createDocument test: characterSet aliases for "http://example.com/","XMLNS:foo",null
Pass createDocument test: "http://example.com/","xmlfoo:bar",null,null
Pass createDocument test: metadata for "http://example.com/","xmlfoo:bar",null
Pass createDocument test: characterSet aliases for "http://example.com/","xmlfoo:bar",null
Pass createDocument test: "http://example.com/","prefix::local",null,null
Pass createDocument test: metadata for "http://example.com/","prefix::local",null
Pass createDocument test: characterSet aliases for "http://example.com/","prefix::local",null
Pass createDocument test: "http://example.com/","namespaceURI:{",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:}",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:~",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:'",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:!",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:@",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:#",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:$",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:%",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:^",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:&",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:*",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:(",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:)",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:+",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:=",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:[",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:]",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:\\",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:/",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:;",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:`",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:<",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:>",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:,",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:a ",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://example.com/","namespaceURI:\"",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "/","foo",null,null
Pass createDocument test: metadata for "/","foo",null
Pass createDocument test: characterSet aliases for "/","foo",null
Pass createDocument test: "/","1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "/","f1oo",null,null
Pass createDocument test: metadata for "/","f1oo",null
Pass createDocument test: characterSet aliases for "/","f1oo",null
Pass createDocument test: "/","foo1",null,null
Pass createDocument test: metadata for "/","foo1",null
Pass createDocument test: characterSet aliases for "/","foo1",null
Fail createDocument test: "/",":foo",null,null
Fail createDocument test: metadata for "/",":foo",null
Fail createDocument test: characterSet aliases for "/",":foo",null
Pass createDocument test: "/","f:oo",null,null
Pass createDocument test: metadata for "/","f:oo",null
Pass createDocument test: characterSet aliases for "/","f:oo",null
Pass createDocument test: "/","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "/","xml",null,null
Pass createDocument test: metadata for "/","xml",null
Pass createDocument test: characterSet aliases for "/","xml",null
Pass createDocument test: "/","xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: "/","xmlfoo",null,null
Pass createDocument test: metadata for "/","xmlfoo",null
Pass createDocument test: characterSet aliases for "/","xmlfoo",null
Pass createDocument test: "/","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "/","xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "/","xmlfoo:bar",null,null
Pass createDocument test: metadata for "/","xmlfoo:bar",null
Pass createDocument test: characterSet aliases for "/","xmlfoo:bar",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","foo",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","foo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","foo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","f1oo",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","f1oo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","f1oo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","foo1",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","foo1",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","foo1",null
Fail createDocument test: "http://www.w3.org/XML/1998/namespace",":foo",null,null
Fail createDocument test: metadata for "http://www.w3.org/XML/1998/namespace",":foo",null
Fail createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace",":foo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","f:oo",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","f:oo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","f:oo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xml",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","xml",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xml",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xmlfoo",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","xmlfoo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xmlfoo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xml:foo",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","xml:foo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xml:foo",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespaces","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/xml/1998/namespace","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","f1oo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","foo1",null,"NAMESPACE_ERR"
Fail createDocument test: "http://www.w3.org/2000/xmlns/",":foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","f:oo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xml",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xmlns",null,null
Pass createDocument test: metadata for "http://www.w3.org/2000/xmlns/","xmlns",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/2000/xmlns/","xmlns",null
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xmlfoo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xmlns:foo",null,null
Pass createDocument test: metadata for "http://www.w3.org/2000/xmlns/","xmlns:foo",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/2000/xmlns/","xmlns:foo",null
Pass createDocument test: "http://www.w3.org/2000/xmlns/","xmlfoo:bar",null,"NAMESPACE_ERR"
Pass createDocument test: "http://www.w3.org/2000/xmlns/","foo:xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: "foo:","foo",null,null
Pass createDocument test: metadata for "foo:","foo",null
Pass createDocument test: characterSet aliases for "foo:","foo",null
Pass createDocument test: "foo:","1foo",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "foo:","f1oo",null,null
Pass createDocument test: metadata for "foo:","f1oo",null
Pass createDocument test: characterSet aliases for "foo:","f1oo",null
Pass createDocument test: "foo:","foo1",null,null
Pass createDocument test: metadata for "foo:","foo1",null
Pass createDocument test: characterSet aliases for "foo:","foo1",null
Fail createDocument test: "foo:",":foo",null,null
Fail createDocument test: metadata for "foo:",":foo",null
Fail createDocument test: characterSet aliases for "foo:",":foo",null
Pass createDocument test: "foo:","f:oo",null,null
Pass createDocument test: metadata for "foo:","f:oo",null
Pass createDocument test: characterSet aliases for "foo:","f:oo",null
Pass createDocument test: "foo:","foo:",null,"INVALID_CHARACTER_ERR"
Pass createDocument test: "foo:","xml",null,null
Pass createDocument test: metadata for "foo:","xml",null
Pass createDocument test: characterSet aliases for "foo:","xml",null
Pass createDocument test: "foo:","xmlns",null,"NAMESPACE_ERR"
Pass createDocument test: "foo:","xmlfoo",null,null
Pass createDocument test: metadata for "foo:","xmlfoo",null
Pass createDocument test: characterSet aliases for "foo:","xmlfoo",null
Pass createDocument test: "foo:","xml:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "foo:","xmlns:foo",null,"NAMESPACE_ERR"
Pass createDocument test: "foo:","xmlfoo:bar",null,null
Pass createDocument test: metadata for "foo:","xmlfoo:bar",null
Pass createDocument test: characterSet aliases for "foo:","xmlfoo:bar",null
Pass createDocument test: null,null,false,function "function TypeError() { [native code] }"
Pass createDocument test: null,"",null,null
Pass createDocument test: metadata for null,"",null
Pass createDocument test: characterSet aliases for null,"",null
Pass createDocument test: undefined,null,undefined,null
Pass createDocument test: metadata for undefined,null,undefined
Pass createDocument test: characterSet aliases for undefined,null,undefined
Pass createDocument test: undefined,undefined,undefined,null
Pass createDocument test: metadata for undefined,undefined,undefined
Pass createDocument test: characterSet aliases for undefined,undefined,undefined
Pass createDocument test: undefined,"",undefined,null
Pass createDocument test: metadata for undefined,"",undefined
Pass createDocument test: characterSet aliases for undefined,"",undefined
Pass createDocument test: "http://example.com/",null,null,null
Pass createDocument test: metadata for "http://example.com/",null,null
Pass createDocument test: characterSet aliases for "http://example.com/",null,null
Pass createDocument test: "http://example.com/","",null,null
Pass createDocument test: metadata for "http://example.com/","",null
Pass createDocument test: characterSet aliases for "http://example.com/","",null
Pass createDocument test: "/",null,null,null
Pass createDocument test: metadata for "/",null,null
Pass createDocument test: characterSet aliases for "/",null,null
Pass createDocument test: "/","",null,null
Pass createDocument test: metadata for "/","",null
Pass createDocument test: characterSet aliases for "/","",null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace",null,null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace",null,null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace",null,null
Pass createDocument test: "http://www.w3.org/XML/1998/namespace","",null,null
Pass createDocument test: metadata for "http://www.w3.org/XML/1998/namespace","",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/XML/1998/namespace","",null
Pass createDocument test: "http://www.w3.org/2000/xmlns/",null,null,null
Pass createDocument test: metadata for "http://www.w3.org/2000/xmlns/",null,null
Pass createDocument test: characterSet aliases for "http://www.w3.org/2000/xmlns/",null,null
Pass createDocument test: "http://www.w3.org/2000/xmlns/","",null,null
Pass createDocument test: metadata for "http://www.w3.org/2000/xmlns/","",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/2000/xmlns/","",null
Pass createDocument test: "foo:",null,null,null
Pass createDocument test: metadata for "foo:",null,null
Pass createDocument test: characterSet aliases for "foo:",null,null
Pass createDocument test: "foo:","",null,null
Pass createDocument test: metadata for "foo:","",null
Pass createDocument test: characterSet aliases for "foo:","",null
Pass createDocument test: null,null,DocumentType node <!DOCTYPE foo>,null
Pass createDocument test: metadata for null,null,DocumentType node <!DOCTYPE foo>
Pass createDocument test: characterSet aliases for null,null,DocumentType node <!DOCTYPE foo>
Pass createDocument test: null,null,DocumentType node <!DOCTYPE html>,null
Pass createDocument test: metadata for null,null,DocumentType node <!DOCTYPE html>
Pass createDocument test: characterSet aliases for null,null,DocumentType node <!DOCTYPE html>
Pass createDocument test: null,null,DocumentType node <!DOCTYPE bar>,null
Pass createDocument test: metadata for null,null,DocumentType node <!DOCTYPE bar>
Pass createDocument test: characterSet aliases for null,null,DocumentType node <!DOCTYPE bar>
Pass createDocument test: null,null,DocumentType node <!DOCTYPE baz>,null
Pass createDocument test: metadata for null,null,DocumentType node <!DOCTYPE baz>
Pass createDocument test: characterSet aliases for null,null,DocumentType node <!DOCTYPE baz>
Pass createDocument test: null,null,DocumentType node <!DOCTYPE quz>,null
Pass createDocument test: metadata for null,null,DocumentType node <!DOCTYPE quz>
Pass createDocument test: characterSet aliases for null,null,DocumentType node <!DOCTYPE quz>
Pass createDocument test: null,"foo",DocumentType node <!DOCTYPE foo>,null
Pass createDocument test: metadata for null,"foo",DocumentType node <!DOCTYPE foo>
Pass createDocument test: characterSet aliases for null,"foo",DocumentType node <!DOCTYPE foo>
Pass createDocument test: "foo",null,DocumentType node <!DOCTYPE foo>,null
Pass createDocument test: metadata for "foo",null,DocumentType node <!DOCTYPE foo>
Pass createDocument test: characterSet aliases for "foo",null,DocumentType node <!DOCTYPE foo>
Pass createDocument test: "foo","bar",DocumentType node <!DOCTYPE foo>,null
Pass createDocument test: metadata for "foo","bar",DocumentType node <!DOCTYPE foo>
Pass createDocument test: characterSet aliases for "foo","bar",DocumentType node <!DOCTYPE foo>
Pass createDocument test: "http://www.w3.org/1999/xhtml","",null,null
Pass createDocument test: metadata for "http://www.w3.org/1999/xhtml","",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/1999/xhtml","",null
Pass createDocument test: "http://www.w3.org/2000/svg","",null,null
Pass createDocument test: metadata for "http://www.w3.org/2000/svg","",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/2000/svg","",null
Pass createDocument test: "http://www.w3.org/1998/Math/MathML","",null,null
Pass createDocument test: metadata for "http://www.w3.org/1998/Math/MathML","",null
Pass createDocument test: characterSet aliases for "http://www.w3.org/1998/Math/MathML","",null
Pass createDocument test: null,"html",null,null
Pass createDocument test: metadata for null,"html",null
Pass createDocument test: characterSet aliases for null,"html",null
Pass createDocument test: null,"svg",null,null
Pass createDocument test: metadata for null,"svg",null
Pass createDocument test: characterSet aliases for null,"svg",null
Pass createDocument test: null,"math",null,null
Pass createDocument test: metadata for null,"math",null
Pass createDocument test: characterSet aliases for null,"math",null
Pass createDocument test: null,"",DocumentType node <!DOCTYPE html -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
Pass createDocument test: null,"",DocumentType node <!DOCTYPE svg -//W3C//DTD SVG 1.1//EN http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd>
Pass createDocument test: null,"",DocumentType node <!DOCTYPE math -//W3C//DTD MathML 2.0//EN http://www.w3.org/Math/DTD/mathml2/mathml2.dtd>
Pass createDocument with missing arguments

View file

@ -0,0 +1,602 @@
Harness status: OK
Found 596 tests
572 Pass
24 Fail
Pass createElementNS test in HTML document: null,null,null
Pass createElementNS test in XML document: null,null,null
Pass createElementNS test in XHTML document: null,null,null
Pass createElementNS test in HTML document: null,undefined,null
Pass createElementNS test in XML document: null,undefined,null
Pass createElementNS test in XHTML document: null,undefined,null
Pass createElementNS test in HTML document: null,"foo",null
Pass createElementNS test in XML document: null,"foo",null
Pass createElementNS test in XHTML document: null,"foo",null
Pass createElementNS test in HTML document: null,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"f1oo",null
Pass createElementNS test in XML document: null,"f1oo",null
Pass createElementNS test in XHTML document: null,"f1oo",null
Pass createElementNS test in HTML document: null,"foo1",null
Pass createElementNS test in XML document: null,"foo1",null
Pass createElementNS test in XHTML document: null,"foo1",null
Pass createElementNS test in HTML document: null,"ெfoo",null
Pass createElementNS test in XML document: null,"ெfoo",null
Pass createElementNS test in XHTML document: null,"ெfoo",null
Pass createElementNS test in HTML document: null,";foo",null
Pass createElementNS test in XML document: null,";foo",null
Pass createElementNS test in XHTML document: null,";foo",null
Pass createElementNS test in HTML document: null,"}foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"}foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"}foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"f}oo",null
Pass createElementNS test in XML document: null,"f}oo",null
Pass createElementNS test in XHTML document: null,"f}oo",null
Pass createElementNS test in HTML document: null,"foo}",null
Pass createElementNS test in XML document: null,"foo}",null
Pass createElementNS test in XHTML document: null,"foo}",null
Pass createElementNS test in HTML document: null,"\ufffffoo",null
Pass createElementNS test in XML document: null,"\ufffffoo",null
Pass createElementNS test in XHTML document: null,"\ufffffoo",null
Pass createElementNS test in HTML document: null,"f\uffffoo",null
Pass createElementNS test in XML document: null,"f\uffffoo",null
Pass createElementNS test in XHTML document: null,"f\uffffoo",null
Pass createElementNS test in HTML document: null,"foo\uffff",null
Pass createElementNS test in XML document: null,"foo\uffff",null
Pass createElementNS test in XHTML document: null,"foo\uffff",null
Pass createElementNS test in HTML document: null,"<foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"<foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"<foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"f<oo",null
Pass createElementNS test in XML document: null,"f<oo",null
Pass createElementNS test in XHTML document: null,"f<oo",null
Pass createElementNS test in HTML document: null,"^^","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"^^","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"^^","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"fo o","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"fo o","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"fo o","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,".foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,".foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,".foo","INVALID_CHARACTER_ERR"
Fail createElementNS test in HTML document: null,":foo",null
Fail createElementNS test in XML document: null,":foo",null
Fail createElementNS test in XHTML document: null,":foo",null
Pass createElementNS test in HTML document: null,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"f:o:o","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"f:o:o","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"f:o:o","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,":","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,":","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,":","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"xml",null
Pass createElementNS test in XML document: null,"xml",null
Pass createElementNS test in XHTML document: null,"xml",null
Pass createElementNS test in HTML document: null,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,"xmlfoo",null
Pass createElementNS test in XML document: null,"xmlfoo",null
Pass createElementNS test in XHTML document: null,"xmlfoo",null
Pass createElementNS test in HTML document: null,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in HTML document: null,"null:xml","NAMESPACE_ERR"
Pass createElementNS test in XML document: null,"null:xml","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: null,"null:xml","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "",null,null
Pass createElementNS test in XML document: "",null,null
Pass createElementNS test in XHTML document: "",null,null
Fail createElementNS test in HTML document: "",":foo",null
Fail createElementNS test in XML document: "",":foo",null
Fail createElementNS test in XHTML document: "",":foo",null
Pass createElementNS test in HTML document: "","f:oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "","f:oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "","f:oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: undefined,null,null
Pass createElementNS test in XML document: undefined,null,null
Pass createElementNS test in XHTML document: undefined,null,null
Pass createElementNS test in HTML document: undefined,undefined,null
Pass createElementNS test in XML document: undefined,undefined,null
Pass createElementNS test in XHTML document: undefined,undefined,null
Pass createElementNS test in HTML document: undefined,"foo",null
Pass createElementNS test in XML document: undefined,"foo",null
Pass createElementNS test in XHTML document: undefined,"foo",null
Pass createElementNS test in HTML document: undefined,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: undefined,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: undefined,"1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: undefined,"f1oo",null
Pass createElementNS test in XML document: undefined,"f1oo",null
Pass createElementNS test in XHTML document: undefined,"f1oo",null
Pass createElementNS test in HTML document: undefined,"foo1",null
Pass createElementNS test in XML document: undefined,"foo1",null
Pass createElementNS test in XHTML document: undefined,"foo1",null
Fail createElementNS test in HTML document: undefined,":foo",null
Fail createElementNS test in XML document: undefined,":foo",null
Fail createElementNS test in XHTML document: undefined,":foo",null
Pass createElementNS test in HTML document: undefined,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"f:oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: undefined,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: undefined,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: undefined,"foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: undefined,"f::oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"f::oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"f::oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: undefined,"xml",null
Pass createElementNS test in XML document: undefined,"xml",null
Pass createElementNS test in XHTML document: undefined,"xml",null
Pass createElementNS test in HTML document: undefined,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: undefined,"xmlfoo",null
Pass createElementNS test in XML document: undefined,"xmlfoo",null
Pass createElementNS test in XHTML document: undefined,"xmlfoo",null
Pass createElementNS test in HTML document: undefined,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: undefined,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: undefined,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XML document: undefined,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: undefined,"xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","foo",null
Pass createElementNS test in XML document: "http://example.com/","foo",null
Pass createElementNS test in XHTML document: "http://example.com/","foo",null
Pass createElementNS test in HTML document: "http://example.com/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","<foo>","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","fo<o",null
Pass createElementNS test in XML document: "http://example.com/","fo<o",null
Pass createElementNS test in XHTML document: "http://example.com/","fo<o",null
Pass createElementNS test in HTML document: "http://example.com/","-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","-foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/",".foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/",".foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/",".foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","f1oo",null
Pass createElementNS test in XML document: "http://example.com/","f1oo",null
Pass createElementNS test in XHTML document: "http://example.com/","f1oo",null
Pass createElementNS test in HTML document: "http://example.com/","foo1",null
Pass createElementNS test in XML document: "http://example.com/","foo1",null
Pass createElementNS test in XHTML document: "http://example.com/","foo1",null
Fail createElementNS test in HTML document: "http://example.com/",":foo",null
Fail createElementNS test in XML document: "http://example.com/",":foo",null
Fail createElementNS test in XHTML document: "http://example.com/",":foo",null
Pass createElementNS test in HTML document: "http://example.com/","f:oo",null
Pass createElementNS test in XML document: "http://example.com/","f:oo",null
Pass createElementNS test in XHTML document: "http://example.com/","f:oo",null
Pass createElementNS test in HTML document: "http://example.com/","f:o:o",null
Pass createElementNS test in XML document: "http://example.com/","f:o:o",null
Pass createElementNS test in XHTML document: "http://example.com/","f:o:o",null
Pass createElementNS test in HTML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","f::oo",null
Pass createElementNS test in XML document: "http://example.com/","f::oo",null
Pass createElementNS test in XHTML document: "http://example.com/","f::oo",null
Pass createElementNS test in HTML document: "http://example.com/","a:0","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","a:0","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","a:0","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","0:a",null
Pass createElementNS test in XML document: "http://example.com/","0:a",null
Pass createElementNS test in XHTML document: "http://example.com/","0:a",null
Pass createElementNS test in HTML document: "http://example.com/","a:_",null
Pass createElementNS test in XML document: "http://example.com/","a:_",null
Pass createElementNS test in XHTML document: "http://example.com/","a:_",null
Pass createElementNS test in HTML document: "http://example.com/","a:ெ",null
Pass createElementNS test in XML document: "http://example.com/","a:ெ",null
Pass createElementNS test in XHTML document: "http://example.com/","a:ெ",null
Pass createElementNS test in HTML document: "http://example.com/","a:;",null
Pass createElementNS test in XML document: "http://example.com/","a:;",null
Pass createElementNS test in XHTML document: "http://example.com/","a:;",null
Pass createElementNS test in HTML document: "http://example.com/","a:̀",null
Pass createElementNS test in XML document: "http://example.com/","a:̀",null
Pass createElementNS test in XHTML document: "http://example.com/","a:̀",null
Pass createElementNS test in HTML document: "http://example.com/","ெ:a",null
Pass createElementNS test in XML document: "http://example.com/","ெ:a",null
Pass createElementNS test in XHTML document: "http://example.com/","ெ:a",null
Pass createElementNS test in HTML document: "http://example.com/","̀:a",null
Pass createElementNS test in XML document: "http://example.com/","̀:a",null
Pass createElementNS test in XHTML document: "http://example.com/","̀:a",null
Pass createElementNS test in HTML document: "http://example.com/",";:a",null
Pass createElementNS test in XML document: "http://example.com/",";:a",null
Pass createElementNS test in XHTML document: "http://example.com/",";:a",null
Pass createElementNS test in HTML document: "http://example.com/","a:aெ",null
Pass createElementNS test in XML document: "http://example.com/","a:aெ",null
Pass createElementNS test in XHTML document: "http://example.com/","a:aெ",null
Pass createElementNS test in HTML document: "http://example.com/","aெ:a",null
Pass createElementNS test in XML document: "http://example.com/","aெ:a",null
Pass createElementNS test in XHTML document: "http://example.com/","aெ:a",null
Pass createElementNS test in HTML document: "http://example.com/","xml:test","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://example.com/","xml:test","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","xml:test","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","xmlns:test","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://example.com/","xmlns:test","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","xmlns:test","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","test:xmlns",null
Pass createElementNS test in XML document: "http://example.com/","test:xmlns",null
Pass createElementNS test in XHTML document: "http://example.com/","test:xmlns",null
Pass createElementNS test in HTML document: "http://example.com/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://example.com/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","_:_",null
Pass createElementNS test in XML document: "http://example.com/","_:_",null
Pass createElementNS test in XHTML document: "http://example.com/","_:_",null
Pass createElementNS test in HTML document: "http://example.com/","_:h0",null
Pass createElementNS test in XML document: "http://example.com/","_:h0",null
Pass createElementNS test in XHTML document: "http://example.com/","_:h0",null
Pass createElementNS test in HTML document: "http://example.com/","_:test",null
Pass createElementNS test in XML document: "http://example.com/","_:test",null
Pass createElementNS test in XHTML document: "http://example.com/","_:test",null
Pass createElementNS test in HTML document: "http://example.com/","l_:_",null
Pass createElementNS test in XML document: "http://example.com/","l_:_",null
Pass createElementNS test in XHTML document: "http://example.com/","l_:_",null
Pass createElementNS test in HTML document: "http://example.com/","ns:_0",null
Pass createElementNS test in XML document: "http://example.com/","ns:_0",null
Pass createElementNS test in XHTML document: "http://example.com/","ns:_0",null
Pass createElementNS test in HTML document: "http://example.com/","ns:a0",null
Pass createElementNS test in XML document: "http://example.com/","ns:a0",null
Pass createElementNS test in XHTML document: "http://example.com/","ns:a0",null
Pass createElementNS test in HTML document: "http://example.com/","ns0:test",null
Pass createElementNS test in XML document: "http://example.com/","ns0:test",null
Pass createElementNS test in XHTML document: "http://example.com/","ns0:test",null
Pass createElementNS test in HTML document: "http://example.com/","a.b:c",null
Pass createElementNS test in XML document: "http://example.com/","a.b:c",null
Pass createElementNS test in XHTML document: "http://example.com/","a.b:c",null
Pass createElementNS test in HTML document: "http://example.com/","a-b:c",null
Pass createElementNS test in XML document: "http://example.com/","a-b:c",null
Pass createElementNS test in XHTML document: "http://example.com/","a-b:c",null
Pass createElementNS test in HTML document: "http://example.com/","xml",null
Pass createElementNS test in XML document: "http://example.com/","xml",null
Pass createElementNS test in XHTML document: "http://example.com/","xml",null
Pass createElementNS test in HTML document: "http://example.com/","XMLNS",null
Pass createElementNS test in XML document: "http://example.com/","XMLNS",null
Pass createElementNS test in XHTML document: "http://example.com/","XMLNS",null
Pass createElementNS test in HTML document: "http://example.com/","xmlfoo",null
Pass createElementNS test in XML document: "http://example.com/","xmlfoo",null
Pass createElementNS test in XHTML document: "http://example.com/","xmlfoo",null
Pass createElementNS test in HTML document: "http://example.com/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://example.com/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","XML:foo",null
Pass createElementNS test in XML document: "http://example.com/","XML:foo",null
Pass createElementNS test in XHTML document: "http://example.com/","XML:foo",null
Pass createElementNS test in HTML document: "http://example.com/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://example.com/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://example.com/","XMLNS:foo",null
Pass createElementNS test in XML document: "http://example.com/","XMLNS:foo",null
Pass createElementNS test in XHTML document: "http://example.com/","XMLNS:foo",null
Pass createElementNS test in HTML document: "http://example.com/","xmlfoo:bar",null
Pass createElementNS test in XML document: "http://example.com/","xmlfoo:bar",null
Pass createElementNS test in XHTML document: "http://example.com/","xmlfoo:bar",null
Pass createElementNS test in HTML document: "http://example.com/","prefix::local",null
Pass createElementNS test in XML document: "http://example.com/","prefix::local",null
Pass createElementNS test in XHTML document: "http://example.com/","prefix::local",null
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:{","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:{","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:{","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:}","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:}","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:}","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:~","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:~","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:~","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:'","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:'","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:'","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:!","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:!","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:!","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:@","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:@","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:@","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:#","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:#","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:#","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:$","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:$","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:$","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:%","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:%","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:%","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:^","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:^","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:^","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:&","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:&","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:&","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:*","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:*","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:*","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:(","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:(","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:(","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:)","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:)","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:)","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:+","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:+","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:+","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:=","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:=","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:=","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:[","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:[","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:[","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:]","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:]","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:]","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:\\","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:\\","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:\\","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:/","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:/","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:/","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:;","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:;","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:;","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:`","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:`","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:`","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:<","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:<","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:<","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:>","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:>","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:,","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:,","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:,","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:a ","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:a ","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:a ","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/","namespaceURI:\"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","namespaceURI:\"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","namespaceURI:\"","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "/","foo",null
Pass createElementNS test in XML document: "/","foo",null
Pass createElementNS test in XHTML document: "/","foo",null
Pass createElementNS test in HTML document: "/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "/","f1oo",null
Pass createElementNS test in XML document: "/","f1oo",null
Pass createElementNS test in XHTML document: "/","f1oo",null
Pass createElementNS test in HTML document: "/","foo1",null
Pass createElementNS test in XML document: "/","foo1",null
Pass createElementNS test in XHTML document: "/","foo1",null
Fail createElementNS test in HTML document: "/",":foo",null
Fail createElementNS test in XML document: "/",":foo",null
Fail createElementNS test in XHTML document: "/",":foo",null
Pass createElementNS test in HTML document: "/","f:oo",null
Pass createElementNS test in XML document: "/","f:oo",null
Pass createElementNS test in XHTML document: "/","f:oo",null
Pass createElementNS test in HTML document: "/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "/","xml",null
Pass createElementNS test in XML document: "/","xml",null
Pass createElementNS test in XHTML document: "/","xml",null
Pass createElementNS test in HTML document: "/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: "/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "/","xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "/","xmlfoo",null
Pass createElementNS test in XML document: "/","xmlfoo",null
Pass createElementNS test in XHTML document: "/","xmlfoo",null
Pass createElementNS test in HTML document: "/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "/","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "/","xmlfoo:bar",null
Pass createElementNS test in XML document: "/","xmlfoo:bar",null
Pass createElementNS test in XHTML document: "/","xmlfoo:bar",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","foo",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","foo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","foo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","f1oo",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","f1oo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","f1oo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","foo1",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","foo1",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","foo1",null
Fail createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace",":foo",null
Fail createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace",":foo",null
Fail createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace",":foo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","f:oo",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","f:oo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","f:oo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xml",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xml",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xml",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xmlfoo",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xmlfoo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xmlfoo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xml:foo",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xml:foo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xml:foo",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespaces","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespaces","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespaces","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/xml/1998/namespace","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/xml/1998/namespace","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/xml/1998/namespace","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","f1oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","f1oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","f1oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","foo1","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","foo1","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","foo1","NAMESPACE_ERR"
Fail createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/",":foo","NAMESPACE_ERR"
Fail createElementNS test in XML document: "http://www.w3.org/2000/xmlns/",":foo","NAMESPACE_ERR"
Fail createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/",":foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","f:oo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","f:oo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","f:oo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xml","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xml","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xml","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xmlns",null
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xmlns",null
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xmlns",null
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xmlfoo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xmlfoo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xmlfoo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xmlns:foo",null
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xmlns:foo",null
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xmlns:foo",null
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","xmlfoo:bar","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","foo:xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","foo:xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","foo:xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "foo:","foo",null
Pass createElementNS test in XML document: "foo:","foo",null
Pass createElementNS test in XHTML document: "foo:","foo",null
Pass createElementNS test in HTML document: "foo:","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "foo:","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "foo:","1foo","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "foo:","f1oo",null
Pass createElementNS test in XML document: "foo:","f1oo",null
Pass createElementNS test in XHTML document: "foo:","f1oo",null
Pass createElementNS test in HTML document: "foo:","foo1",null
Pass createElementNS test in XML document: "foo:","foo1",null
Pass createElementNS test in XHTML document: "foo:","foo1",null
Fail createElementNS test in HTML document: "foo:",":foo",null
Fail createElementNS test in XML document: "foo:",":foo",null
Fail createElementNS test in XHTML document: "foo:",":foo",null
Pass createElementNS test in HTML document: "foo:","f:oo",null
Pass createElementNS test in XML document: "foo:","f:oo",null
Pass createElementNS test in XHTML document: "foo:","f:oo",null
Pass createElementNS test in HTML document: "foo:","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "foo:","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "foo:","foo:","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "foo:","xml",null
Pass createElementNS test in XML document: "foo:","xml",null
Pass createElementNS test in XHTML document: "foo:","xml",null
Pass createElementNS test in HTML document: "foo:","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XML document: "foo:","xmlns","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "foo:","xmlns","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "foo:","xmlfoo",null
Pass createElementNS test in XML document: "foo:","xmlfoo",null
Pass createElementNS test in XHTML document: "foo:","xmlfoo",null
Pass createElementNS test in HTML document: "foo:","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "foo:","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "foo:","xml:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "foo:","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XML document: "foo:","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "foo:","xmlns:foo","NAMESPACE_ERR"
Pass createElementNS test in HTML document: "foo:","xmlfoo:bar",null
Pass createElementNS test in XML document: "foo:","xmlfoo:bar",null
Pass createElementNS test in XHTML document: "foo:","xmlfoo:bar",null
Pass createElementNS test in HTML document: "","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "","","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: null,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: null,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: null,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: undefined,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: undefined,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: undefined,"","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://example.com/",null,null
Pass createElementNS test in XML document: "http://example.com/",null,null
Pass createElementNS test in XHTML document: "http://example.com/",null,null
Pass createElementNS test in HTML document: "http://example.com/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://example.com/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://example.com/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "/",null,null
Pass createElementNS test in XML document: "/",null,null
Pass createElementNS test in XHTML document: "/",null,null
Pass createElementNS test in HTML document: "/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace",null,null
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace",null,null
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace",null,null
Pass createElementNS test in HTML document: "http://www.w3.org/XML/1998/namespace","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/XML/1998/namespace","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/XML/1998/namespace","","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/",null,"NAMESPACE_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/",null,"NAMESPACE_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/",null,"NAMESPACE_ERR"
Pass createElementNS test in HTML document: "http://www.w3.org/2000/xmlns/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "http://www.w3.org/2000/xmlns/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "http://www.w3.org/2000/xmlns/","","INVALID_CHARACTER_ERR"
Pass createElementNS test in HTML document: "foo:",null,null
Pass createElementNS test in XML document: "foo:",null,null
Pass createElementNS test in XHTML document: "foo:",null,null
Pass createElementNS test in HTML document: "foo:","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XML document: "foo:","","INVALID_CHARACTER_ERR"
Pass createElementNS test in XHTML document: "foo:","","INVALID_CHARACTER_ERR"
Pass Lower-case HTML element without a prefix
Pass Lower-case HTML element with a prefix
Pass Lower-case non-HTML element without a prefix
Pass Lower-case non-HTML element with a prefix
Pass Upper-case HTML element without a prefix
Pass Upper-case HTML element with a prefix
Pass Upper-case non-HTML element without a prefix
Pass Upper-case non-HTML element with a prefix
Pass null namespace
Pass undefined namespace
Pass empty string namespace

View file

@ -0,0 +1,2 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>Dummy XHTML document</title></head><body /></html>

View file

@ -0,0 +1 @@
<foo>Dummy XML document</foo>

View file

@ -0,0 +1,172 @@
<!doctype html>
<meta charset=utf-8>
<title>DOMImplementation.createDocument(namespace, qualifiedName, doctype)</title>
<link rel=help href="https://dom.spec.whatwg.org/#dom-domimplementation-createdocument">
<link rel=help href="https://dom.spec.whatwg.org/#dom-document-createelementns">
<link rel=help href="https://dom.spec.whatwg.org/#dom-node-nodetype">
<link rel=help href="https://dom.spec.whatwg.org/#dom-document-documentelement">
<link rel=help href="https://dom.spec.whatwg.org/#dom-document-doctype">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="Document-createElementNS.js"></script>
<div id="log"></div>
<script>
var htmlNamespace = "http://www.w3.org/1999/xhtml"
var svgNamespace = "http://www.w3.org/2000/svg"
var mathMLNamespace = "http://www.w3.org/1998/Math/MathML"
// Make DocumentTypes distinct
function my_format_value(val) {
if (val instanceof DocumentType) {
return "DocumentType node <!DOCTYPE " + val.name
+ (val.publicId ? " " + val.publicId : "")
+ (val.systemId ? " " + val.systemId : "")
+ ">";
}
return format_value(val);
}
test(function() {
var tests = createElementNS_tests.map(function(t) {
return [t[0], t[1], null, t[2]]
}).concat([
/* Arrays with four elements:
* the namespace argument
* the qualifiedName argument
* the doctype argument
* the expected exception, or null if none
*/
[null, null, false, TypeError],
[null, "", null, null],
[undefined, null, undefined, null],
[undefined, undefined, undefined, null],
[undefined, "", undefined, null],
["http://example.com/", null, null, null],
["http://example.com/", "", null, null],
["/", null, null, null],
["/", "", null, null],
["http://www.w3.org/XML/1998/namespace", null, null, null],
["http://www.w3.org/XML/1998/namespace", "", null, null],
["http://www.w3.org/2000/xmlns/", null, null, null],
["http://www.w3.org/2000/xmlns/", "", null, null],
["foo:", null, null, null],
["foo:", "", null, null],
[null, null, document.implementation.createDocumentType("foo", "", ""), null],
[null, null, document.doctype, null], // This causes a horrible WebKit bug (now fixed in trunk).
[null, null, function() {
var foo = document.implementation.createDocumentType("bar", "", "");
document.implementation.createDocument(null, null, foo);
return foo;
}(), null], // DOCTYPE already associated with a document.
[null, null, function() {
var bar = document.implementation.createDocument(null, null, null);
return bar.implementation.createDocumentType("baz", "", "");
}(), null], // DOCTYPE created by a different implementation.
[null, null, function() {
var bar = document.implementation.createDocument(null, null, null);
var magic = bar.implementation.createDocumentType("quz", "", "");
bar.implementation.createDocument(null, null, magic);
return magic;
}(), null], // DOCTYPE created by a different implementation and already associated with a document.
[null, "foo", document.implementation.createDocumentType("foo", "", ""), null],
["foo", null, document.implementation.createDocumentType("foo", "", ""), null],
["foo", "bar", document.implementation.createDocumentType("foo", "", ""), null],
[htmlNamespace, "", null, null],
[svgNamespace, "", null, null],
[mathMLNamespace, "", null, null],
[null, "html", null, null],
[null, "svg", null, null],
[null, "math", null, null],
[null, "", document.implementation.createDocumentType("html",
"-//W3C//DTD XHTML 1.0 Transitional//EN",
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd")],
[null, "", document.implementation.createDocumentType("svg",
"-//W3C//DTD SVG 1.1//EN",
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd")],
[null, "", document.implementation.createDocumentType("math",
"-//W3C//DTD MathML 2.0//EN",
"http://www.w3.org/Math/DTD/mathml2/mathml2.dtd")],
])
tests.forEach(function(t, i) {
var namespace = t[0], qualifiedName = t[1], doctype = t[2], expected = t[3]
test(function() {
if (expected != null) {
if (typeof expected == "string") {
assert_throws_dom(expected, function() { document.implementation.createDocument(namespace, qualifiedName, doctype) });
} else {
assert_throws_js(expected, function() { document.implementation.createDocument(namespace, qualifiedName, doctype) });
}
} else {
var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
assert_equals(doc.nodeType, Node.DOCUMENT_NODE)
assert_equals(doc.nodeType, doc.DOCUMENT_NODE)
assert_equals(doc.nodeName, "#document")
assert_equals(doc.nodeValue, null)
assert_equals(Object.getPrototypeOf(doc), XMLDocument.prototype)
var omitRootElement = qualifiedName === null || String(qualifiedName) === ""
if (omitRootElement) {
assert_equals(doc.documentElement, null)
} else {
var element = doc.documentElement
assert_not_equals(element, null)
assert_equals(element.nodeType, Node.ELEMENT_NODE)
assert_equals(element.ownerDocument, doc)
var qualified = String(qualifiedName), names = []
var firstColonIndex = qualified.indexOf(":")
if (firstColonIndex >= 0) {
names.push(qualified.substring(0, firstColonIndex));
names.push(qualified.substring(firstColonIndex + 1));
} else {
names = [null, qualified]
}
assert_equals(element.prefix, names[0], 'element.prefix')
assert_equals(element.localName, names[1], 'element.localName')
assert_equals(element.namespaceURI, namespace === undefined || namespace === "" ? null : namespace, 'element.namespaceURI')
}
if (!doctype) {
assert_equals(doc.doctype, null)
} else {
assert_equals(doc.doctype, doctype)
assert_equals(doc.doctype.ownerDocument, doc)
}
assert_equals(doc.childNodes.length, !omitRootElement + !!doctype)
}
}, "createDocument test: " + t.map(my_format_value))
if (expected === null) {
test(function() {
var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
assert_equals(doc.location, null)
assert_equals(doc.compatMode, "CSS1Compat")
assert_equals(doc.characterSet, "UTF-8")
assert_equals(doc.contentType, namespace == htmlNamespace ? "application/xhtml+xml"
: namespace == svgNamespace ? "image/svg+xml"
: "application/xml")
assert_equals(doc.URL, "about:blank")
assert_equals(doc.documentURI, "about:blank")
assert_equals(doc.createElement("DIV").localName, "DIV");
}, "createDocument test: metadata for " +
[namespace, qualifiedName, doctype].map(my_format_value))
test(function() {
var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
assert_equals(doc.characterSet, "UTF-8", "characterSet");
assert_equals(doc.charset, "UTF-8", "charset");
assert_equals(doc.inputEncoding, "UTF-8", "inputEncoding");
}, "createDocument test: characterSet aliases for " +
[namespace, qualifiedName, doctype].map(my_format_value))
}
})
})
test(function() {
assert_throws_js(TypeError, function() {
document.implementation.createDocument()
}, "createDocument() should throw")
assert_throws_js(TypeError, function() {
document.implementation.createDocument('')
}, "createDocument('') should throw")
}, "createDocument with missing arguments");
</script>

View file

@ -0,0 +1,227 @@
<!DOCTYPE html>
<meta charset=utf-8>
<title>Document.createElementNS</title>
<link rel=help href="https://dom.spec.whatwg.org/#dom-document-createelementns">
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="Document-createElementNS.js"></script>
<div id="log"></div>
<iframe src="../../common/dummy.xml"></iframe>
<iframe src="../../common/dummy.xhtml"></iframe>
<script>
var tests = createElementNS_tests.concat([
/* Arrays with three elements:
* the namespace argument
* the qualifiedName argument
* the expected exception, or null if none
*/
["", "", "INVALID_CHARACTER_ERR"],
[null, "", "INVALID_CHARACTER_ERR"],
[undefined, "", "INVALID_CHARACTER_ERR"],
["http://example.com/", null, null],
["http://example.com/", "", "INVALID_CHARACTER_ERR"],
["/", null, null],
["/", "", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/XML/1998/namespace", null, null],
["http://www.w3.org/XML/1998/namespace", "", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/2000/xmlns/", null, "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "", "INVALID_CHARACTER_ERR"],
["foo:", null, null],
["foo:", "", "INVALID_CHARACTER_ERR"],
])
var xmlIframe = document.querySelector('[src="../../common/dummy.xml"]');
var xhtmlIframe = document.querySelector('[src="../../common/dummy.xhtml"]');
function runTest(t, i, desc) {
async_test(function(testObj) {
window.addEventListener("load", function() {
testObj.step(function() {
var doc;
if (desc == "HTML document") {
doc = document;
} else if (desc == "XML document") {
doc = xmlIframe.contentDocument;
// Make sure we're testing the right document
assert_equals(doc.documentElement.textContent, "Dummy XML document");
} else if (desc == "XHTML document") {
doc = xhtmlIframe.contentDocument;
assert_equals(doc.documentElement.textContent, "Dummy XHTML document");
}
var namespace = t[0], qualifiedName = t[1], expected = t[2]
if (expected != null) {
assert_throws_dom(expected, doc.defaultView.DOMException, function() {doc.createElementNS(namespace, qualifiedName) });
} else {
var element = doc.createElementNS(namespace, qualifiedName)
assert_not_equals(element, null)
assert_equals(element.nodeType, Node.ELEMENT_NODE)
assert_equals(element.nodeType, element.ELEMENT_NODE)
assert_equals(element.nodeValue, null)
assert_equals(element.ownerDocument, doc)
var qualified = String(qualifiedName), names = []
var firstColonIndex = qualified.indexOf(":")
if (firstColonIndex >= 0) {
names.push(qualified.substring(0, firstColonIndex));
names.push(qualified.substring(firstColonIndex + 1));
} else {
names = [null, qualified]
}
assert_equals(element.prefix, names[0], 'element.prefix')
assert_equals(element.localName, names[1], 'element.localName')
assert_equals(element.tagName, qualified, 'element.tagName')
assert_equals(element.nodeName, qualified, 'element.nodeName')
assert_equals(element.namespaceURI,
namespace === undefined || namespace === "" ? null
: namespace,
'element.namespaceURI')
}
});
testObj.done();
});
}, "createElementNS test in " + desc + ": " + t.map(format_value))
}
tests.forEach(function(t, i) {
runTest(t, i, "HTML document")
runTest(t, i, "XML document")
runTest(t, i, "XHTML document")
})
test(function() {
var HTMLNS = "http://www.w3.org/1999/xhtml";
var element = document.createElementNS(HTMLNS, "span");
assert_equals(element.namespaceURI, HTMLNS);
assert_equals(element.prefix, null);
assert_equals(element.localName, "span");
assert_equals(element.tagName, "SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
assert_true(element instanceof HTMLSpanElement, "Should be an HTMLSpanElement");
}, "Lower-case HTML element without a prefix");
test(function() {
var HTMLNS = "http://www.w3.org/1999/xhtml";
var element = document.createElementNS(HTMLNS, "html:span");
assert_equals(element.namespaceURI, HTMLNS);
assert_equals(element.prefix, "html");
assert_equals(element.localName, "span");
assert_equals(element.tagName, "HTML:SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
assert_true(element instanceof HTMLSpanElement, "Should be an HTMLSpanElement");
}, "Lower-case HTML element with a prefix");
test(function() {
var element = document.createElementNS("test", "span");
assert_equals(element.namespaceURI, "test");
assert_equals(element.prefix, null);
assert_equals(element.localName, "span");
assert_equals(element.tagName, "span");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Lower-case non-HTML element without a prefix");
test(function() {
var element = document.createElementNS("test", "html:span");
assert_equals(element.namespaceURI, "test");
assert_equals(element.prefix, "html");
assert_equals(element.localName, "span");
assert_equals(element.tagName, "html:span");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Lower-case non-HTML element with a prefix");
test(function() {
var HTMLNS = "http://www.w3.org/1999/xhtml";
var element = document.createElementNS(HTMLNS, "SPAN");
assert_equals(element.namespaceURI, HTMLNS);
assert_equals(element.prefix, null);
assert_equals(element.localName, "SPAN");
assert_equals(element.tagName, "SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
assert_true(element instanceof HTMLUnknownElement, "Should be an HTMLUnknownElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Upper-case HTML element without a prefix");
test(function() {
var HTMLNS = "http://www.w3.org/1999/xhtml";
var element = document.createElementNS(HTMLNS, "html:SPAN");
assert_equals(element.namespaceURI, HTMLNS);
assert_equals(element.prefix, "html");
assert_equals(element.localName, "SPAN");
assert_equals(element.tagName, "HTML:SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_true(element instanceof HTMLElement, "Should be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Upper-case HTML element with a prefix");
test(function() {
var element = document.createElementNS("test", "SPAN");
assert_equals(element.namespaceURI, "test");
assert_equals(element.prefix, null);
assert_equals(element.localName, "SPAN");
assert_equals(element.tagName, "SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Upper-case non-HTML element without a prefix");
test(function() {
var element = document.createElementNS("test", "html:SPAN");
assert_equals(element.namespaceURI, "test");
assert_equals(element.prefix, "html");
assert_equals(element.localName, "SPAN");
assert_equals(element.tagName, "html:SPAN");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "Upper-case non-HTML element with a prefix");
test(function() {
var element = document.createElementNS(null, "span");
assert_equals(element.namespaceURI, null);
assert_equals(element.prefix, null);
assert_equals(element.localName, "span");
assert_equals(element.tagName, "span");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "null namespace");
test(function() {
var element = document.createElementNS(undefined, "span");
assert_equals(element.namespaceURI, null);
assert_equals(element.prefix, null);
assert_equals(element.localName, "span");
assert_equals(element.tagName, "span");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "undefined namespace");
test(function() {
var element = document.createElementNS("", "span");
assert_equals(element.namespaceURI, null);
assert_equals(element.prefix, null);
assert_equals(element.localName, "span");
assert_equals(element.tagName, "span");
assert_true(element instanceof Node, "Should be a Node");
assert_true(element instanceof Element, "Should be an Element");
assert_false(element instanceof HTMLElement, "Should not be an HTMLElement");
assert_false(element instanceof HTMLSpanElement, "Should not be an HTMLSpanElement");
}, "empty string namespace");
</script>

View file

@ -0,0 +1,189 @@
var createElementNS_tests = [
/* Arrays with three elements:
* the namespace argument
* the qualifiedName argument
* the expected exception, or null if none
*/
[null, null, null],
[null, undefined, null],
[null, "foo", null],
[null, "1foo", "INVALID_CHARACTER_ERR"],
[null, "f1oo", null],
[null, "foo1", null],
[null, "\u0BC6foo", null],
[null, "\u037Efoo", null],
[null, "}foo", "INVALID_CHARACTER_ERR"],
[null, "f}oo", null],
[null, "foo}", null],
[null, "\uFFFFfoo", null],
[null, "f\uFFFFoo", null],
[null, "foo\uFFFF", null],
[null, "<foo", "INVALID_CHARACTER_ERR"],
[null, "foo>", "INVALID_CHARACTER_ERR"],
[null, "<foo>", "INVALID_CHARACTER_ERR"],
[null, "f<oo", null],
[null, "^^", "INVALID_CHARACTER_ERR"],
[null, "fo o", "INVALID_CHARACTER_ERR"],
[null, "-foo", "INVALID_CHARACTER_ERR"],
[null, ".foo", "INVALID_CHARACTER_ERR"],
[null, ":foo", null],
[null, "f:oo", "NAMESPACE_ERR"],
[null, "foo:", "INVALID_CHARACTER_ERR"],
[null, "f:o:o", "NAMESPACE_ERR"],
[null, ":", "INVALID_CHARACTER_ERR"],
[null, "xml", null],
[null, "xmlns", "NAMESPACE_ERR"],
[null, "xmlfoo", null],
[null, "xml:foo", "NAMESPACE_ERR"],
[null, "xmlns:foo", "NAMESPACE_ERR"],
[null, "xmlfoo:bar", "NAMESPACE_ERR"],
[null, "null:xml", "NAMESPACE_ERR"],
["", null, null],
["", ":foo", null],
["", "f:oo", "NAMESPACE_ERR"],
["", "foo:", "INVALID_CHARACTER_ERR"],
[undefined, null, null],
[undefined, undefined, null],
[undefined, "foo", null],
[undefined, "1foo", "INVALID_CHARACTER_ERR"],
[undefined, "f1oo", null],
[undefined, "foo1", null],
[undefined, ":foo", null],
[undefined, "f:oo", "NAMESPACE_ERR"],
[undefined, "foo:", "INVALID_CHARACTER_ERR"],
[undefined, "f::oo", "NAMESPACE_ERR"],
[undefined, "xml", null],
[undefined, "xmlns", "NAMESPACE_ERR"],
[undefined, "xmlfoo", null],
[undefined, "xml:foo", "NAMESPACE_ERR"],
[undefined, "xmlns:foo", "NAMESPACE_ERR"],
[undefined, "xmlfoo:bar", "NAMESPACE_ERR"],
["http://example.com/", "foo", null],
["http://example.com/", "1foo", "INVALID_CHARACTER_ERR"],
["http://example.com/", "<foo>", "INVALID_CHARACTER_ERR"],
["http://example.com/", "fo<o", null],
["http://example.com/", "-foo", "INVALID_CHARACTER_ERR"],
["http://example.com/", ".foo", "INVALID_CHARACTER_ERR"],
["http://example.com/", "f1oo", null],
["http://example.com/", "foo1", null],
["http://example.com/", ":foo", null],
["http://example.com/", "f:oo", null],
["http://example.com/", "f:o:o", null],
["http://example.com/", "foo:", "INVALID_CHARACTER_ERR"],
["http://example.com/", "f::oo", null],
["http://example.com/", "a:0", "INVALID_CHARACTER_ERR"],
["http://example.com/", "0:a", null],
["http://example.com/", "a:_", null],
["http://example.com/", "a:\u0BC6", null],
["http://example.com/", "a:\u037E", null],
["http://example.com/", "a:\u0300", null],
["http://example.com/", "\u0BC6:a", null],
["http://example.com/", "\u0300:a", null],
["http://example.com/", "\u037E:a", null],
["http://example.com/", "a:a\u0BC6", null],
["http://example.com/", "a\u0BC6:a", null],
["http://example.com/", "xml:test", "NAMESPACE_ERR"],
["http://example.com/", "xmlns:test", "NAMESPACE_ERR"],
["http://example.com/", "test:xmlns", null],
["http://example.com/", "xmlns", "NAMESPACE_ERR"],
["http://example.com/", "_:_", null],
["http://example.com/", "_:h0", null],
["http://example.com/", "_:test", null],
["http://example.com/", "l_:_", null],
["http://example.com/", "ns:_0", null],
["http://example.com/", "ns:a0", null],
["http://example.com/", "ns0:test", null],
["http://example.com/", "a.b:c", null],
["http://example.com/", "a-b:c", null],
["http://example.com/", "xml", null],
["http://example.com/", "XMLNS", null],
["http://example.com/", "xmlfoo", null],
["http://example.com/", "xml:foo", "NAMESPACE_ERR"],
["http://example.com/", "XML:foo", null],
["http://example.com/", "xmlns:foo", "NAMESPACE_ERR"],
["http://example.com/", "XMLNS:foo", null],
["http://example.com/", "xmlfoo:bar", null],
["http://example.com/", "prefix::local", null],
["http://example.com/", "namespaceURI:{", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:}", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:~", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:'", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:!", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:@", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:#", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:$", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:%", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:^", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:&", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:*", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:(", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:)", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:+", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:=", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:[", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:]", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:\\", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:/", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:;", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:`", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:<", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:>", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:,", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:a ", "INVALID_CHARACTER_ERR"],
["http://example.com/", "namespaceURI:\"", "INVALID_CHARACTER_ERR"],
["/", "foo", null],
["/", "1foo", "INVALID_CHARACTER_ERR"],
["/", "f1oo", null],
["/", "foo1", null],
["/", ":foo", null],
["/", "f:oo", null],
["/", "foo:", "INVALID_CHARACTER_ERR"],
["/", "xml", null],
["/", "xmlns", "NAMESPACE_ERR"],
["/", "xmlfoo", null],
["/", "xml:foo", "NAMESPACE_ERR"],
["/", "xmlns:foo", "NAMESPACE_ERR"],
["/", "xmlfoo:bar", null],
["http://www.w3.org/XML/1998/namespace", "foo", null],
["http://www.w3.org/XML/1998/namespace", "1foo", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/XML/1998/namespace", "f1oo", null],
["http://www.w3.org/XML/1998/namespace", "foo1", null],
["http://www.w3.org/XML/1998/namespace", ":foo", null],
["http://www.w3.org/XML/1998/namespace", "f:oo", null],
["http://www.w3.org/XML/1998/namespace", "foo:", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/XML/1998/namespace", "xml", null],
["http://www.w3.org/XML/1998/namespace", "xmlns", "NAMESPACE_ERR"],
["http://www.w3.org/XML/1998/namespace", "xmlfoo", null],
["http://www.w3.org/XML/1998/namespace", "xml:foo", null],
["http://www.w3.org/XML/1998/namespace", "xmlns:foo", "NAMESPACE_ERR"],
["http://www.w3.org/XML/1998/namespace", "xmlfoo:bar", null],
["http://www.w3.org/XML/1998/namespaces", "xml:foo", "NAMESPACE_ERR"],
["http://www.w3.org/xml/1998/namespace", "xml:foo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "foo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "1foo", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/2000/xmlns/", "f1oo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "foo1", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", ":foo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "f:oo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "foo:", "INVALID_CHARACTER_ERR"],
["http://www.w3.org/2000/xmlns/", "xml", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "xmlns", null],
["http://www.w3.org/2000/xmlns/", "xmlfoo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "xml:foo", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "xmlns:foo", null],
["http://www.w3.org/2000/xmlns/", "xmlfoo:bar", "NAMESPACE_ERR"],
["http://www.w3.org/2000/xmlns/", "foo:xmlns", "NAMESPACE_ERR"],
["foo:", "foo", null],
["foo:", "1foo", "INVALID_CHARACTER_ERR"],
["foo:", "f1oo", null],
["foo:", "foo1", null],
["foo:", ":foo", null],
["foo:", "f:oo", null],
["foo:", "foo:", "INVALID_CHARACTER_ERR"],
["foo:", "xml", null],
["foo:", "xmlns", "NAMESPACE_ERR"],
["foo:", "xmlfoo", null],
["foo:", "xml:foo", "NAMESPACE_ERR"],
["foo:", "xmlns:foo", "NAMESPACE_ERR"],
["foo:", "xmlfoo:bar", null],
]