blob: 49c44de47618fbf3913127e9aabb524431d52cfc [file] [log] [blame]
<style>
.container {
height: 100px;
width: 200px;
margin: 30px;
outline: 1px solid black;
}
.box {
height: 100%;
width: 100%;
padding: 5px;
margin: 5px;
border: 5px solid gray;
background-color: green;
transform-origin: 20% 50%;
}
</style>
<div class="container">
<div id="test-box" class="box"></div>
</div>
<script type="text/javascript" charset="utf-8">
import "../resources/third_party/unittest/unittest.dart";
import "../resources/unit.dart";
import "dart:sky";
void main() {
initUnit();
var testBox = document.getElementById('test-box');
void testTransformRoundTrip(transform, resultMatrix) {
testBox.style['transform'] = transform;
var computedTransform = window.getComputedStyle(testBox)['transform'];
expect(computedTransform, equals(resultMatrix));
}
test('pixel translate should roundtrip', () {
testTransformRoundTrip('translate(80px, 90px)', 'matrix(1, 0, 0, 1, 80, 90)');
});
test('percent translate should roundtrip', () {
testTransformRoundTrip('translate(10px, 50%)', 'matrix(1, 0, 0, 1, 10, 60)');
});
test('scale should roundtrip', () {
testTransformRoundTrip('scale(1.2, 0.8)', 'matrix(1.2, 0, 0, 0.8, 0, 0)');
});
test('removing a transform should not crash', () {
testBox.style['transform'] = 'translate(0, 0, 0)';
testBox.getBoundingClientRect();
testBox.style.removeProperty('transform');
testBox.getBoundingClientRect();
});
}
</script>