blob: 13418f3fb5ce45a79c47b634b7d88ea4291102e5 [file] [log] [blame]
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');
}