| OLD | NEW |
| (Empty) |
| 1 <style> | |
| 2 .container { | |
| 3 height: 100px; | |
| 4 width: 200px; | |
| 5 margin: 30px; | |
| 6 outline: 1px solid black; | |
| 7 } | |
| 8 .box { | |
| 9 height: 100%; | |
| 10 width: 100%; | |
| 11 padding: 5px; | |
| 12 margin: 5px; | |
| 13 border: 5px solid gray; | |
| 14 background-color: green; | |
| 15 transform-origin: 20% 50%; | |
| 16 } | |
| 17 </style> | |
| 18 | |
| 19 <div class="container"> | |
| 20 <div id="test-box" class="box"></div> | |
| 21 </div> | |
| 22 | |
| 23 <script type="text/javascript" charset="utf-8"> | |
| 24 import "../resources/third_party/unittest/unittest.dart"; | |
| 25 import "../resources/unit.dart"; | |
| 26 | |
| 27 import "dart:sky"; | |
| 28 | |
| 29 void main() { | |
| 30 initUnit(); | |
| 31 | |
| 32 var testBox = document.getElementById('test-box'); | |
| 33 | |
| 34 void testTransformRoundTrip(transform, resultMatrix) { | |
| 35 testBox.style['transform'] = transform; | |
| 36 var computedTransform = window.getComputedStyle(testBox)['transform']; | |
| 37 expect(computedTransform, equals(resultMatrix)); | |
| 38 } | |
| 39 | |
| 40 test('pixel translate should roundtrip', () { | |
| 41 testTransformRoundTrip('translate(80px, 90px)', 'matrix(1, 0, 0, 1, 80, 90
)'); | |
| 42 }); | |
| 43 | |
| 44 test('percent translate should roundtrip', () { | |
| 45 testTransformRoundTrip('translate(10px, 50%)', 'matrix(1, 0, 0, 1, 10, 60)
'); | |
| 46 }); | |
| 47 | |
| 48 test('scale should roundtrip', () { | |
| 49 testTransformRoundTrip('scale(1.2, 0.8)', 'matrix(1.2, 0, 0, 0.8, 0, 0)'); | |
| 50 }); | |
| 51 | |
| 52 test('removing a transform should not crash', () { | |
| 53 testBox.style['transform'] = 'translate(0, 0, 0)'; | |
| 54 testBox.getBoundingClientRect(); | |
| 55 testBox.style.removeProperty('transform'); | |
| 56 testBox.getBoundingClientRect(); | |
| 57 }); | |
| 58 } | |
| 59 </script> | |
| OLD | NEW |