| library CssTest; |
| import '../../pkg/unittest/lib/unittest.dart'; |
| import '../../pkg/unittest/lib/html_individual_config.dart'; |
| import 'dart:html'; |
| |
| main() { |
| useHtmlIndividualConfiguration(); |
| |
| group('supported_CssMatrix', () { |
| test('supported', () { |
| expect(CssMatrix.supported, true); |
| }); |
| }); |
| |
| group('supported_DomPoint', () { |
| test('supported', () { |
| expect(DomPoint.supported, true); |
| }); |
| }); |
| |
| group('functional', () { |
| test('CssMatrix', () { |
| var expectation = CssMatrix.supported ? returnsNormally : throws; |
| expect(() { |
| 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)); |
| }, expectation); |
| }); |
| test('DomPoint', () { |
| var expectation = DomPoint.supported ? returnsNormally : throws; |
| expect(() { |
| 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); |
| '''; |
| document.body.nodes.add(element); |
| |
| DomPoint point = new DomPoint(5, 2); |
| checkPoint(5, 2, point); |
| checkPoint(255, 102, window.convertPointFromNodeToPage(element, point)); |
| point.y = 100; |
| checkPoint(5, 100, point); |
| checkPoint(255, 200, window.convertPointFromNodeToPage(element, point)); |
| }, expectation); |
| }); |
| }); |
| } |
| |
| void checkPoint(expectedX, expectedY, DomPoint point) { |
| expect(point.x.round(), equals(expectedX), reason: 'Wrong point.x'); |
| expect(point.y.round(), equals(expectedY), reason: 'Wrong point.y'); |
| } |