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 |