// 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'); }