2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / LayoutTests / fast / dom / coreDOM-element-attribute-js-null.xhtml
bloba3b2ddcd1b04db64e56b7bec58c0e8ac196c932e
1 <html xmlns="http://www.w3.org/1999/xhtml">
2 <head>
3 <style type="text/css">
4 .pass { color: green; }
5 .fail { color: red; }
6 </style>
7 <script type="text/javascript" charset="utf-8">
8 function printOut(msg)
10 var console = document.getElementById("console");
11 var span = document.createElementNS('http://www.w3.org/1999/xhtml', 'span');
12 // span.innerHTML = msg + "<br />";
13 span.appendChild(document.createTextNode(msg));
14 span.appendChild(document.createElementNS('http://www.w3.org/1999/xhtml', 'br'));
15 console.appendChild(span);
18 function resultStringifier(result)
20 if (result === "")
21 return "the empty string";
22 else if (result === undefined)
23 return "undefined";
24 else if (result === null)
25 return "null";
26 return "the string '" + result + "'";
29 function nullTestElementAttribute(elementType, element, attr, expected)
31 element[attr] = null;
33 var result;
34 if (element[attr] === expected)
35 result = "TEST SUCCEEDED: The value was " + resultStringifier(expected) + ".";
36 else
37 result = "TEST FAILED: The value should have been " + resultStringifier(expected) + " but was " + resultStringifier(element[attr]) + ".";
39 result += " [tested " + elementType + "." + attr + "]";
40 printOut(result);
43 function runTests()
45 if (window.layoutTestController)
46 layoutTestController.dumpAsText();
48 var listing = [
50 type: 'Attr',
51 elementToUse: document.createAttributeNS('http://www.w3.org/1999/xhtml','anAttribute'),
52 attributes: [
53 {name: 'value', expectedNull: null}
57 type: 'ProcessingInstruction',
58 elementToUse: document.createProcessingInstruction('target', 'data'),
59 attributes: [
60 {name: 'data', expectedNull: null}
64 type: 'CharacterData',
65 elementToUse: document.createTextNode('text'),
66 attributes: [
67 {name: 'data', expectedNull: ''}
72 for (element in listing) {
73 var type = listing[element].type;
74 var elementToUse = listing[element].elementToUse;
75 var attrs = listing[element].attributes;
76 for (attr in attrs) {
77 nullTestElementAttribute(type, elementToUse, attrs[attr].name, attrs[attr].expectedNull);
79 printOut('');
83 </script>
84 </head>
86 <body onload="runTests();">
87 <p>This test setting various attributes of a elements to JavaScript null.</p>
88 <div id="console"></div>
89 </body>
90 </html>