Move parseFontFaceDescriptor to CSSPropertyParser.cpp
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / dom / Element / script-tests / getAttribute-check-case-sensitivity.js
blobee2bffafb23f238be9c74e35998c6d756a104331
1 description(
2 "<p>This file test the behaviour of getAttribute with regard to case.</p><p>See Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it</p>"
3 );
5 function testGetAttributeCaseInsensitive()
7 var div = document.createElement('div');
8 div.setAttribute("mixedCaseAttrib", "x");
10 // Do original case lookup, and lowercase lookup.
11 return div.getAttribute("mixedcaseattrib");
14 shouldBe("testGetAttributeCaseInsensitive()", '"x"');
16 function testGetAttributeNodeMixedCase()
18 var div = document.createElement('div');
19 var a = div.ownerDocument.createAttribute("mixedCaseAttrib");
20 a.value = "x";
21 div.setAttributeNode(a);
22 return div.getAttribute("mixedCaseAttrib");
25 shouldBe("testGetAttributeNodeMixedCase()", '"x"');
27 function testGetAttributeNodeLowerCase(div)
29 var div = document.createElement('div');
30 var a = div.ownerDocument.createAttribute("lowercaseattrib");
31 a.value = "x";
32 div.setAttributeNode(a);
33 return div.getAttribute("lowerCaseAttrib");
36 shouldBe("testGetAttributeNodeLowerCase()", '"x"');
38 function testSetAttributeNodeKeepsRef(div)
40 var div = document.createElement('div');
41 var a = div.ownerDocument.createAttribute("attrib_name");
42 a.value = "0";
43 div.setAttributeNode(a);
45 // Mutate the attribute node.
46 a.value = "1";
48 return div.getAttribute("attrib_name");
51 shouldBe("testSetAttributeNodeKeepsRef()", '"1"');
53 function testAttribNodeNamePreservesCase()
55 var div = document.createElement('div');
56 var a = div.ownerDocument.createAttribute("A");
57 a.value = "x";
58 div.setAttributeNode(a);
60 var result = [ a.name, a.nodeName ];
61 return result.join(",");
64 shouldBe("testAttribNodeNamePreservesCase()", '"A,A"');
67 function testAttribNodeNamePreservesCaseGetNode()
69 // getAttributeNode doesnt work on DIVs, use body element
70 var body = document.body;
72 var a = body.ownerDocument.createAttribute("A");
73 a.value = "x";
75 body.setAttributeNode(a);
77 a = document.body.getAttributeNode("A");
78 if (!a)
79 return "FAIL";
81 var result = [ a.name, a.nodeName ];
82 return result.join(",");
85 shouldBe("testAttribNodeNamePreservesCaseGetNode()", '"A,A"');
87 function testAttribNodeNamePreservesCaseGetNode2()
89 // getAttributeNode doesnt work on DIVs, use body element
90 var body = document.body;
92 var a = body.ownerDocument.createAttribute("B");
93 a.value = "x";
95 body.setAttributeNode(a);
97 a = document.body.getAttributeNode("B");
98 if (!a)
99 return "FAIL";
101 // Now create node second time -- this time case is preserved in FF!
102 a = body.ownerDocument.createAttribute("B");
103 a.value = "x";
104 body.setAttributeNode(a);
106 a = document.body.getAttributeNode("B");
108 var result = [ a.name, a.nodeName ];
109 return result.join(",");
112 shouldBe("testAttribNodeNamePreservesCaseGetNode2()", '"B,B"');
114 function testAttribNodeNameGetMutate()
116 // getAttributeNode doesnt work on DIVs, use body element.
117 var body = document.body;
119 var a = body.ownerDocument.createAttribute("c");
120 a.value = "0";
121 body.setAttributeNode(a);
123 a = document.body.getAttributeNode("c");
124 a.value = "1";
126 a = document.body.getAttributeNode("c");
128 return a.value;
131 shouldBe("testAttribNodeNameGetMutate()", '"1"');
133 var node = document.createElement("div");
134 var attrib = document.createAttribute("myAttrib");
135 attrib.value = "XXX";
136 node.setAttributeNode(attrib);
138 shouldBe("(new XMLSerializer).serializeToString(node)", '"<div xmlns=\\"http://www.w3.org/1999/xhtml\\" myAttrib=\\"XXX\\"></div>"');
139 shouldBe("node.getAttributeNode('myAttrib').name", '"myAttrib"');
140 shouldBe("node.getAttributeNode('myattrib').name", '"myAttrib"');
141 shouldBe("attrib.name", '"myAttrib"');