2008-11-04 Anders Carlsson <andersca@apple.com>
[webkit/qt.git] / LayoutTests / fast / dom / canvasContext2d-element-attribute-js-null.html
blobd9e7f7a381ffe5c465e6f67b2fbc3da842e03928
1 <html>
2 <head>
3 <style type="text/css">
4 .pass { color: green; }
5 .fail { color: red; }
6 </style>
7 <script>
8 function printOut(msg)
10 var console = document.getElementById("console");
11 var span = document.createElement('span');
12 span.innerHTML = msg + '<br>';
13 console.appendChild(span);
16 function resultStringifier(result)
18 if (result === "")
19 return "<b>the empty string</b>";
20 else if (result === undefined)
21 return "<b>undefined</b>";
22 else if (result === null)
23 return "<b>null</b>";
24 return "the string '" + result + "'";
27 function nullTestElementAttribute(elementType, element, attr, expected)
29 element[attr] = null;
31 var result;
32 if (element[attr] === expected)
33 result = "<span class='pass'>TEST SUCCEEDED:</span> The value was " + resultStringifier(expected) + ".";
34 else
35 result = "<span class='fail'>TEST FAILED:</span> The value should have been " + resultStringifier(expected) + " but was " + resultStringifier(element[attr]) + ".";
37 result += " [tested " + elementType + "." + attr + "]";
38 printOut(result);
41 function runTests()
43 if (window.layoutTestController)
44 layoutTestController.dumpAsText();
46 var canvas = document.createElement('canvas');
47 var context = canvas.getContext("2d");
49 var listing = [
51 type: 'CanvasRenderingContext2D',
52 elementToUse: context,
53 attributes: [
54 {name: 'globalCompositeOperation', expectedNull: 'source-over'},
55 {name: 'lineCap', expectedNull: 'butt'},
56 {name: 'lineJoin', expectedNull: 'miter'},
57 {name: 'shadowColor', expectedNull: ''}
62 for (element in listing) {
63 var type = listing[element].type;
64 var elementToUse = listing[element].elementToUse;
65 var attrs = listing[element].attributes;
66 for (attr in attrs) {
67 nullTestElementAttribute(type, elementToUse, attrs[attr].name, attrs[attr].expectedNull);
69 printOut('');
72 </script>
73 </head>
74 <body onload="runTests()">
75 <p>This test setting various attributes of a CanvasRenderingContext2D to JavaScript null.</p>
76 <div id="console"></div>
77 </body>
78 </html>