| // Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| library CssTest; | |
| import 'dart:html'; | |
| import 'package:expect/legacy/minitest.dart'; // ignore: deprecated_member_use_from_same_package | |
| main() { | |
| group('supportsPointConversions', () { | |
| test('supported', () { | |
| expect(Window.supportsPointConversions, true); | |
| }); | |
| }); | |
| group('functional', () { | |
| test('DomPoint', () { | |
| var expectation = Window.supportsPointConversions | |
| ? 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); | |
| -moz-transform: translate3d(250px, 100px, 0px); | |
| '''; | |
| document.body!.append(element); | |
| var elemRect = element.getBoundingClientRect(); | |
| checkPoint(250, 100, new Point(elemRect.left, elemRect.top)); | |
| checkPoint(310, 200, new Point(elemRect.right, elemRect.bottom)); | |
| }, expectation); | |
| }); | |
| }); | |
| } | |
| void checkPoint(expectedX, expectedY, Point point) { | |
| expect(point.x.round(), equals(expectedX), reason: 'Wrong point.x'); | |
| expect(point.y.round(), equals(expectedY), reason: 'Wrong point.y'); | |
| } |