From 671a487145c0a414408fa29114f3705c0ac71731 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Thu, 30 Oct 2014 11:51:24 +0100 Subject: [PATCH] Format Element#tagName correctly when there's a prefix. format!("{}", atom) yields strings like "Atom('span' type=Inline)", which is not intended here. --- components/script/dom/element.rs | 6 +++++- .../dom/nodes/Document-createElementNS.html.ini | 12 ------------ .../wpt/metadata/dom/nodes/Element-tagName.html.ini | 6 ------ tests/wpt/metadata/dom/nodes/Node-nodeName.html.ini | 5 ----- 4 files changed, 5 insertions(+), 24 deletions(-) delete mode 100644 tests/wpt/metadata/dom/nodes/Node-nodeName.html.ini diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 0f966864bd4..22a2d812a0b 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -656,7 +656,11 @@ impl<'a> ElementMethods for JSRef<'a, Element> { // http://dom.spec.whatwg.org/#dom-element-tagname fn TagName(self) -> DOMString { let qualified_name = match self.prefix { - Some(ref prefix) => format!("{}:{}", prefix, self.local_name).into_maybe_owned(), + Some(ref prefix) => { + (format!("{:s}:{:s}", + prefix.as_slice(), + self.local_name.as_slice())).into_maybe_owned() + }, None => self.local_name.as_slice().into_maybe_owned() }; if self.html_element_in_html_document() { diff --git a/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini b/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini index 3fe8d1b9afb..4d19c279d85 100644 --- a/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini +++ b/tests/wpt/metadata/dom/nodes/Document-createElementNS.html.ini @@ -9,15 +9,3 @@ [Invalid namespace http://www.w3.org/2000/xmlns/ and QName foo:xmlns] expected: FAIL - [Lower-case HTML element with a prefix] - expected: FAIL - - [Upper-case HTML element with a prefix] - expected: FAIL - - [Lower-case non-HTML element with a prefix] - expected: FAIL - - [Upper-case non-HTML element with a prefix] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Element-tagName.html.ini b/tests/wpt/metadata/dom/nodes/Element-tagName.html.ini index 99f49bce701..f9cc02a4f31 100644 --- a/tests/wpt/metadata/dom/nodes/Element-tagName.html.ini +++ b/tests/wpt/metadata/dom/nodes/Element-tagName.html.ini @@ -1,11 +1,5 @@ [Element-tagName.html] type: testharness - [tagName should upper-case for HTML elements in HTML documents.] - expected: FAIL - [tagName should be updated when changing ownerDocument] expected: FAIL - [tagName should not upper-case for SVG elements in HTML documents.] - expected: FAIL - diff --git a/tests/wpt/metadata/dom/nodes/Node-nodeName.html.ini b/tests/wpt/metadata/dom/nodes/Node-nodeName.html.ini deleted file mode 100644 index 247299b4282..00000000000 --- a/tests/wpt/metadata/dom/nodes/Node-nodeName.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[Node-nodeName.html] - type: testharness - [For Element nodes, nodeName should return the same as tagName.] - expected: FAIL -