| OLD | NEW |
| 1 var testCount = 17; | 1 var testCount = 17; |
| 2 var testDocuments = []; | 2 var testDocuments = []; |
| 3 var testSheets = []; | 3 var testSheets = []; |
| 4 var expectedResults = []; | 4 var expectedResults = []; |
| 5 | 5 |
| 6 function buildTestFrame(content) | 6 function buildTestFrame(content) |
| 7 { | 7 { |
| 8 var iframe = document.createElement("iframe"); | 8 var iframe = document.createElement("iframe"); |
| 9 iframe.setAttribute("width", "100"); | 9 iframe.setAttribute("width", "100"); |
| 10 iframe.setAttribute("height", "50"); | 10 iframe.setAttribute("height", "50"); |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 | 70 |
| 71 function executeTests(createCSSOMObjectBeforeTest) | 71 function executeTests(createCSSOMObjectBeforeTest) |
| 72 { | 72 { |
| 73 if (createCSSOMObjectBeforeTest) { | 73 if (createCSSOMObjectBeforeTest) { |
| 74 for (var i = 0; i < testSheets.length; ++i) | 74 for (var i = 0; i < testSheets.length; ++i) |
| 75 ensureCSSOM(testSheets[i].cssRules); | 75 ensureCSSOM(testSheets[i].cssRules); |
| 76 } | 76 } |
| 77 | 77 |
| 78 mutationTest(0, '', 'red'); | 78 mutationTest(0, '', 'red'); |
| 79 | 79 |
| 80 mutationTest(1, 'sheet.insertRule("#testdiv { background-color: green; }", 3
)', 'green'); | 80 mutationTest(1, 'sheet.insertRule("#testdiv { background-color: green; }", 2
)', 'green'); |
| 81 mutationTest(2, 'sheet.deleteRule(2)'); | 81 mutationTest(2, 'sheet.deleteRule(1)'); |
| 82 mutationTest(3, 'sheet.cssRules[2].insertRule("#testdiv { background-color:
green; }", 1)', 'green'); | 82 mutationTest(3, 'sheet.cssRules[1].insertRule("#testdiv { background-color:
green; }", 1)', 'green'); |
| 83 mutationTest(4, 'sheet.cssRules[2].deleteRule(0)', 'green'); | 83 mutationTest(4, 'sheet.cssRules[1].deleteRule(0)', 'green'); |
| 84 mutationTest(5, 'sheet.cssRules[2].cssRules[0].style.setProperty("background
-color", "green", "")', 'green'); | 84 mutationTest(5, 'sheet.cssRules[1].cssRules[0].style.setProperty("background
-color", "green", "")', 'green'); |
| 85 mutationTest(6, 'sheet.cssRules[2].cssRules[0].style.removeProperty("backgro
und-color")', 'green'); | 85 mutationTest(6, 'sheet.cssRules[1].cssRules[0].style.removeProperty("backgro
und-color")', 'green'); |
| 86 mutationTest(7, 'sheet.cssRules[2].cssRules[0].style.cssText = "background-c
olor: green"', 'green'); | 86 mutationTest(7, 'sheet.cssRules[1].cssRules[0].style.cssText = "background-c
olor: green"', 'green'); |
| 87 mutationTest(8, 'sheet.cssRules[2].cssRules[0].selectorText = "#dontmatch"',
'green'); | 87 mutationTest(8, 'sheet.cssRules[1].cssRules[0].selectorText = "#dontmatch"',
'green'); |
| 88 mutationTest(9, 'sheet.cssRules[2].media.mediaText = "print"', 'green'); | 88 mutationTest(9, 'sheet.cssRules[1].media.mediaText = "print"', 'green'); |
| 89 | 89 |
| 90 var testString = '\ | 90 var testString = '\ |
| 91 sheet.cssRules[2].media.appendMedium("print");\ | 91 sheet.cssRules[1].media.appendMedium("print");\ |
| 92 sheet.cssRules[2].media.deleteMedium("all");\ | 92 sheet.cssRules[1].media.deleteMedium("all");\ |
| 93 '; | 93 '; |
| 94 mutationTest(10, testString, 'green'); | 94 mutationTest(10, testString, 'green'); |
| 95 | 95 |
| 96 var testString = '\ | 96 var testString = '\ |
| 97 sheet.deleteRule(3);\ | |
| 98 sheet.insertRule("#testdiv { background-color: green; }", 1);\ | |
| 99 sheet.deleteRule(2);\ | 97 sheet.deleteRule(2);\ |
| 100 sheet.deleteRule(0);\ | 98 sheet.insertRule("#testdiv { background-color: green; }", 0);\ |
| 99 sheet.deleteRule(1);\ |
| 101 sheet.deleteRule(3);\ | 100 sheet.deleteRule(3);\ |
| 102 sheet.deleteRule(1);\ | 101 sheet.deleteRule(1);\ |
| 103 sheet.deleteRule(1);\ | 102 sheet.deleteRule(1);\ |
| 104 '; | 103 '; |
| 105 mutationTest(11, testString, 'green'); | 104 mutationTest(11, testString, 'green'); |
| 106 | 105 |
| 107 var importRule = '@import "data:text/css;charset=utf-8,%23testdiv%7Bbackgrou
nd-color%3Agreen%20!important%7D";'; | 106 var importRule = '@import "data:text/css;charset=utf-8,%23testdiv%7Bbackgrou
nd-color%3Agreen%20!important%7D";'; |
| 108 mutationTest(12, "sheet.insertRule('"+importRule+"', 1)", 'green'); | 107 mutationTest(12, "sheet.insertRule('"+importRule+"', 0)", 'green'); |
| 109 | 108 |
| 110 mutationTest(13, 'sheet.cssRules[3].selectorText = "foo"', 'red'); | 109 mutationTest(13, 'sheet.cssRules[2].selectorText = "foo"', 'red'); |
| 111 mutationTest(14, 'sheet.cssRules[4].insertRule("40% { left: 40px; }")', 'red
'); | 110 mutationTest(14, 'sheet.cssRules[3].insertRule("40% { left: 40px; }")', 'red
'); |
| 112 mutationTest(15, 'sheet.cssRules[4].deleteRule("100%")', 'red'); | 111 mutationTest(15, 'sheet.cssRules[3].deleteRule("100%")', 'red'); |
| 113 mutationTest(16, 'sheet.cssRules[5].style.setProperty("font-family", "Bar",
"")', 'red'); | 112 mutationTest(16, 'sheet.cssRules[4].style.setProperty("font-family", "Bar",
"")', 'red'); |
| 114 | 113 |
| 115 setTimeout(finishedTests, 80); | 114 setTimeout(finishedTests, 80); |
| 116 } | 115 } |
| 117 | 116 |
| 118 function runTestsAfterLoadComplete(createCSSOMObjectBeforeTest) | 117 function runTestsAfterLoadComplete(createCSSOMObjectBeforeTest) |
| 119 { | 118 { |
| 120 var complete = true; | 119 var complete = true; |
| 121 for (var i = 0; i < testDocuments.length; ++i) { | 120 for (var i = 0; i < testDocuments.length; ++i) { |
| 122 var sheet = testDocuments[i].styleSheets.length == 1 ? testDocuments[i].
styleSheets[0] : null; | 121 var sheet = testDocuments[i].styleSheets.length == 1 ? testDocuments[i].
styleSheets[0] : null; |
| 123 if (sheet) | 122 if (sheet) |
| 124 testSheets[i] = sheet; | 123 testSheets[i] = sheet; |
| 125 else | 124 else |
| 126 complete = false; | 125 complete = false; |
| 127 } | 126 } |
| 128 if (!complete) { | 127 if (!complete) { |
| 129 setTimeout(runTestsAfterLoadComplete, 10); | 128 setTimeout(runTestsAfterLoadComplete, 10); |
| 130 return; | 129 return; |
| 131 } | 130 } |
| 132 executeTests(createCSSOMObjectBeforeTest); | 131 executeTests(createCSSOMObjectBeforeTest); |
| 133 } | 132 } |
| 134 | 133 |
| 135 function runTests(createCSSOMObjectBeforeTest) | 134 function runTests(createCSSOMObjectBeforeTest) |
| 136 { | 135 { |
| 137 buildTestFrames("<link rel=stylesheet href=resources/shared.css><div id=test
div>Test</div>"); | 136 buildTestFrames("<link rel=stylesheet href=resources/shared.css><div id=test
div>Test</div>"); |
| 138 | 137 |
| 139 runTestsAfterLoadComplete(createCSSOMObjectBeforeTest); | 138 runTestsAfterLoadComplete(createCSSOMObjectBeforeTest); |
| 140 } | 139 } |
| OLD | NEW |