OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 | 2 |
3 <style> | 3 <style> |
4 .exists1, .exists2 { } | 4 .exists1, .exists2 { } |
5 </style> | 5 </style> |
6 | 6 |
7 <script src="../../resources/js-test.js"></script> | 7 <script src="../../resources/js-test.js"></script> |
8 | 8 |
9 <div id="target"></div> | 9 <div id="target"></div> |
10 | 10 |
11 <script> | 11 <script> |
12 description("Test that adding and removing class names with no matching selector
does not cause a style recalc"); | 12 description("Test that adding and removing class names with no matching selector
does not cause a style recalc"); |
13 | 13 |
14 var target = document.getElementById('target'); | 14 var target = document.getElementById('target'); |
15 | 15 |
16 function testClass(oldClasses, newClasses, needsRecalc) | 16 function testClass(oldClasses, newClasses, needsRecalc) |
17 { | 17 { |
18 target.className = oldClasses; | 18 target.className = oldClasses; |
19 document.body.offsetTop; | 19 document.body.offsetTop; |
20 target.className = newClasses; | 20 target.className = newClasses; |
21 shouldBe("internals.updateStyleAndReturnAffectedElementCount()", needsRecalc
? '1' : '0'); | 21 shouldBe("internals.updateStyleAndLayoutAndReturnAffectedElementCount()", ne
edsRecalc ? '1' : '0'); |
22 } | 22 } |
23 | 23 |
24 testClass('', 'exists1', true); | 24 testClass('', 'exists1', true); |
25 testClass('exists1', '', true); | 25 testClass('exists1', '', true); |
26 testClass('', 'not-exists', false); | 26 testClass('', 'not-exists', false); |
27 testClass('not-exists', '', false); | 27 testClass('not-exists', '', false); |
28 testClass('exists1', 'exists2', true); | 28 testClass('exists1', 'exists2', true); |
29 testClass('exists1 exists2', 'exists2 exists1', false); | 29 testClass('exists1 exists2', 'exists2 exists1', false); |
30 testClass('exists1 exists1', 'exists1 exists1', false); | 30 testClass('exists1 exists1', 'exists1 exists1', false); |
31 testClass('exists1 exists1', 'exists1 exists1 doesnt-exist', false); | 31 testClass('exists1 exists1', 'exists1 exists1 doesnt-exist', false); |
32 testClass('exists1 exists1 doesnt-exist', 'exists1 exists1', false); | 32 testClass('exists1 exists1 doesnt-exist', 'exists1 exists1', false); |
33 testClass('exists1 exists1 doesnt-exist', 'exists1 doesnt-exist exists1', false)
; | 33 testClass('exists1 exists1 doesnt-exist', 'exists1 doesnt-exist exists1', false)
; |
34 testClass('exists1 doesnt-exist exists2 doesnt-exist exists1', 'doesnt-exist doe
snt-exist2 exists2 exists1 doesnt-exist exists1', false); | 34 testClass('exists1 doesnt-exist exists2 doesnt-exist exists1', 'doesnt-exist doe
snt-exist2 exists2 exists1 doesnt-exist exists1', false); |
35 </script> | 35 </script> |
OLD | NEW |