| Index: test/codegen/lib/html/queryall_test.dart
|
| diff --git a/test/codegen/lib/html/queryall_test.dart b/test/codegen/lib/html/queryall_test.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..be4e67b5eaed2368fb3f56b9197f768f500e9a0a
|
| --- /dev/null
|
| +++ b/test/codegen/lib/html/queryall_test.dart
|
| @@ -0,0 +1,87 @@
|
| +// 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
|
| +
|
| +library NodeListTest;
|
| +import 'package:unittest/unittest.dart';
|
| +import 'package:unittest/html_config.dart';
|
| +import 'dart:html';
|
| +
|
| +main() {
|
| + useHtmlConfiguration();
|
| +
|
| + 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('queryAll', () {
|
| + List<Node> all = queryAll('*');
|
| + for (var e in all) {
|
| + expect(e, isElement);
|
| + }
|
| + });
|
| +
|
| + test('document.queryAll', () {
|
| + List<Element> all1 = queryAll('*');
|
| + List<Element> all2 = document.queryAll('*');
|
| + expect(all1.length, equals(all2.length));
|
| + for (var i = 0; i < all1.length; ++i) {
|
| + expect(all1[i], equals(all2[i]));
|
| + }
|
| + });
|
| +
|
| + test('queryAll-canvas', () {
|
| + List<CanvasElement> all = queryAll('canvas');
|
| + for (var e in all) {
|
| + expect(e, isCanvasElement);
|
| + }
|
| + expect(all.length, equals(2));
|
| + });
|
| +
|
| + test('queryAll-contains', () {
|
| + List<Element> all = queryAll('*');
|
| + for (var e in all) {
|
| + expect(all.contains(e), isTrue);
|
| + }
|
| + });
|
| +
|
| + test('queryAll-where', () {
|
| + List<Element> all = queryAll('*');
|
| + Iterable<CanvasElement> canvases = all.where((e) => e is CanvasElement);
|
| + for (var e in canvases) {
|
| + expect(e is CanvasElement, isTrue);
|
| + }
|
| + expect(canvases.length, equals(2));
|
| + });
|
| +
|
| + test('node.queryAll', () {
|
| + List<Element> list = div.queryAll('*');
|
| + 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<Element> list = div.queryAll('*');
|
| + int len = list.length;
|
| + expect(() { list.add(new DivElement()); }, throwsUnsupportedError);
|
| + expect(list.length, equals(len));
|
| + });
|
| +}
|
|
|