// Copyright (c) 2012, 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 isElement = predicate((x) => x is Element, 'is an Element'); var isCanvasElement = predicate( (x) => x is CanvasElement, 'is a CanvasElement', ); var isDivElement = predicate((x) => x is DivElement, 'is a isDivElement'); var div = new DivElement(); div.id = 'test'; document.body!.append(div); div.nodes.addAll([ new DivElement(), new CanvasElement(), new DivElement(), new Text('Hello'), new DivElement(), new Text('World'), new CanvasElement(), ]); test('querySelectorAll', () { List all = querySelectorAll('*'); for (var e in all) { expect(e, isElement); } }); test('document.querySelectorAll', () { List all1 = querySelectorAll('*'); List all2 = document.querySelectorAll('*'); expect(all1.length, equals(all2.length)); for (var i = 0; i < all1.length; ++i) { expect(all1[i], equals(all2[i])); } }); test('querySelectorAll-canvas', () { var all = querySelectorAll('canvas'); for (var e in all) { expect(e, isCanvasElement); } expect(all.length, equals(2)); }); test('querySelectorAll-contains', () { List all = querySelectorAll('*'); for (var e in all) { expect(all.contains(e), isTrue); } }); test('querySelectorAll-where', () { List all = querySelectorAll('*'); var canvases = all.where((e) => e is CanvasElement); for (var e in canvases) { expect(e is CanvasElement, isTrue); } expect(canvases.length, equals(2)); }); test('node.querySelectorAll', () { List list = div.querySelectorAll('*'); expect(list.length, equals(5)); expect(list[0], isDivElement); expect(list[1], isCanvasElement); expect(list[2], isDivElement); expect(list[3], isDivElement); expect(list[4], isCanvasElement); }); test('immutable', () { List list = div.querySelectorAll('*'); int len = list.length; expect(() { list.add(new DivElement()); }, throwsUnsupportedError); expect(list.length, equals(len)); }); }