blob: a02fb0dab684edb899fd0f1eeebe0fe3a1acf4d3 [file] [log] [blame]
// 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/minitest.dart';
main() {
var isRectList =
predicate((x) => x is DomRectList, 'should be a DomRectList');
var isListOfRectangle =
predicate((x) => x is List<Rectangle>, 'should be a List<Rectangle>');
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));
});
}