| 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 |