// 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. import 'dart:html'; import 'package:expect/legacy/minitest.dart'; // ignore: deprecated_member_use_from_same_package main() { var isRectList = predicate( (x) => x is DomRectList, 'should be a DomRectList', ); var isListOfRectangle = predicate( (x) => x is List, 'should be a List', ); var isRectangle = predicate((x) => x is Rectangle, 'should be a Rectangle'); var isDomRectReadOnly = predicate( (x) => x is DomRectReadOnly, 'should be a DomRectReadOnly', ); insertTestDiv() { var element = new Element.tag('div'); element.innerHtml = r''' A large block of text should go here. Click this block of text multiple times to see each line highlight with every click of the mouse button. '''; document.body!.append(element); return element; } test("DomRectList test", () { insertTestDiv(); var range = new Range(); var rects = range.getClientRects(); expect(rects, isListOfRectangle); expect(rects, isRectList); }); test("ClientRect ==", () { var rect1 = document.body!.getBoundingClientRect(); var rect2 = document.body!.getBoundingClientRect(); expect(rect1, isRectangle); expect(rect1, isDomRectReadOnly); expect(rect1, equals(rect2)); }); }