#library('CSSTest'); #import('../../pkg/unittest/unittest.dart'); #import('../../pkg/unittest/html_config.dart'); #import('dart:html'); main() { useHtmlConfiguration(); test('CSSMatrix', () { CSSMatrix matrix1 = new CSSMatrix(); expect(matrix1.m11.round(), equals(1)); expect(matrix1.m12.round(), isZero); CSSMatrix matrix2 = new CSSMatrix('matrix(1, 0, 0, 1, -835, 0)'); expect(matrix2.a.round(), equals(1)); expect(matrix2.e.round(), equals(-835)); }); test('Point', () { Element element = new Element.tag('div'); element.attributes['style'] = ''' position: absolute; width: 60px; height: 100px; left: 0px; top: 0px; background-color: red; -webkit-transform: translate3d(250px, 100px, 0px) perspective(500px) rotateX(30deg); '''; document.body.nodes.add(element); Point point = new Point(5, 2); checkPoint(5, 2, point); checkPoint(256, 110, window.webkitConvertPointFromNodeToPage(element, point)); point.y = 100; checkPoint(5, 100, point); checkPoint(254, 196, window.webkitConvertPointFromNodeToPage(element, point)); }); } void checkPoint(expectedX, expectedY, Point point) { expect(point.x.round(), equals(expectedX), 'Wrong point.x'); expect(point.y.round(), equals(expectedY), 'Wrong point.y'); }