import 'dart:html'; import 'package:expect/minitest.dart'; 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)); }); }