test_SVGStringList.xhtml (3582B)
1 <html xmlns="http://www.w3.org/1999/xhtml"> 2 <!-- 3 https://bugzilla.mozilla.org/show_bug.cgi?id=724993--> 4 <head> 5 <title>Tests specific to SVGStringList</title> 6 <script src="/tests/SimpleTest/SimpleTest.js"></script> 7 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> 8 </head> 9 <body> 10 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=724993">Mozilla Bug 724993</a> 11 <p id="display"></p> 12 <div id="content" style="display:none;"> 13 <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="100" height="100"> 14 <g id="g" requiredExtensions="foo bar baz"/> 15 </svg> 16 </div> 17 <pre id="test"> 18 <script class="testbody" type="text/javascript"> 19 <![CDATA[ 20 21 SimpleTest.waitForExplicitFinish(); 22 23 /* 24 This file runs a series of SVGStringList specific tests. Generic SVGXxxList 25 tests can be found in test_SVGxxxList.xhtml. Anything that can be generalized 26 to other list types belongs there. 27 */ 28 29 function initializeThrowsFor(stringList, value) { 30 try { 31 stringList.initialize(value); 32 } catch (e) { 33 return true; 34 } 35 return false; 36 } 37 38 function insertItemBeforeThrowsFor(stringList, value) { 39 try { 40 stringList.insertItemBefore(value, 0); 41 } catch (e) { 42 return true; 43 } 44 return false; 45 } 46 47 function replaceItemThrowsFor(stringList, value) { 48 try { 49 stringList.replaceItem(value, 0); 50 } catch (e) { 51 return true; 52 } 53 return false; 54 } 55 56 function appendItemThrowsFor(stringList, value) { 57 try { 58 stringList.appendItem(value); 59 } catch (e) { 60 return true; 61 } 62 return false; 63 } 64 65 function run_tests() { 66 var g = document.getElementById("g"); 67 var strings = g.requiredExtensions; 68 69 // sanity check: 70 is(strings.numberOfItems, 3, "numberOfItems should be 3"); 71 72 73 ok(!initializeThrowsFor(strings, null), 74 "SVGStringList.initialize() should not throw when passed null"); 75 ok(initializeThrowsFor(strings, ""), 76 "SVGStringList.initialize() should throw when passed the empty string"); 77 is(strings.length, 0, "length should be 0"); 78 79 ok(!insertItemBeforeThrowsFor(strings, null), 80 "SVGStringList.insertItemBefore() should not throw when passed null"); 81 ok(insertItemBeforeThrowsFor(strings, ""), 82 "SVGStringList.insertItemBefore() should throw when passed the empty string"); 83 is(strings.length, 1, "length should be 1"); 84 85 ok(!replaceItemThrowsFor(strings, null), 86 "SVGStringList.replaceItem() should not throw when passed null"); 87 ok(replaceItemThrowsFor(strings, ""), 88 "SVGStringList.replaceItem() should throw when passed the empty string"); 89 is(strings.length, 1, "length should be 1"); 90 91 ok(!appendItemThrowsFor(strings, null), 92 "SVGStringList.appendItem() should not throw when passed null"); 93 ok(appendItemThrowsFor(strings, ""), 94 "SVGStringList.appendItem() should throw when passed the empty string"); 95 is(strings.length, 2, "length should be 2"); 96 97 98 // more sanity checks: 99 ok(!initializeThrowsFor(strings, "valid-string"), 100 "SVGStringList.initialize() should not throw when passed a valid string"); 101 ok(!insertItemBeforeThrowsFor(strings, "valid-string"), 102 "SVGStringList.insertItemBefore() should not throw when passed a valid string"); 103 ok(!replaceItemThrowsFor(strings, "valid-string"), 104 "SVGStringList.replaceItem() should not throw when passed a valid string"); 105 ok(!appendItemThrowsFor(strings, "valid-string"), 106 "SVGStringList.appendItem() should not throw when passed a valid string"); 107 is(strings.length, 3, "numberOfItems should be 3"); 108 109 SimpleTest.finish(); 110 } 111 112 window.addEventListener("load", run_tests); 113 114 ]]> 115 </script> 116 </pre> 117 </body> 118 </html>