| Index: client/tests/client/html/ElementTests.dart
|
| diff --git a/client/tests/client/html/ElementTests.dart b/client/tests/client/html/ElementTests.dart
|
| index 38c608a238f8e033b5db67c6c5e2521b619ec743..1e09e6b7053e8dd0e7fd3e575c5d82c63b3ed3c6 100644
|
| --- a/client/tests/client/html/ElementTests.dart
|
| +++ b/client/tests/client/html/ElementTests.dart
|
| @@ -535,4 +535,119 @@ void testElement() {
|
| Expect.equals(1, el.elements.length);
|
| });
|
| });
|
| +
|
| + group('queryAll', () {
|
| + Element getQueryAll() {
|
| + return new Element.html("""
|
| +<div>
|
| + <hr/>
|
| + <a class='q' href='http://dartlang.org'>Dart!</a>
|
| + <p>
|
| + <span class='q'>Hello</span>,
|
| + <em>world</em>!
|
| + </p>
|
| + <hr class='q'/>
|
| +</div>
|
| +""").queryAll('.q');
|
| + }
|
| +
|
| + Element getEmptyQueryAll() => new Element.tag('div').queryAll('img');
|
| +
|
| + void testUnsupported(String name, void f()) {
|
| + test(name, () {
|
| + Expect.throws(f, (e) => e is UnsupportedOperationException);
|
| + });
|
| + }
|
| +
|
| + test('first', () {
|
| + Expect.isTrue(getQueryAll().first is AnchorElement);
|
| + });
|
| +
|
| + test('last', () {
|
| + Expect.isTrue(getQueryAll().last() is HRElement);
|
| + });
|
| +
|
| + test('forEach', () {
|
| + var els = [];
|
| + getQueryAll().forEach((el) => els.add(el));
|
| + Expect.isTrue(els[0] is AnchorElement);
|
| + Expect.isTrue(els[1] is SpanElement);
|
| + Expect.isTrue(els[2] is HRElement);
|
| + });
|
| +
|
| + test('map', () {
|
| + var texts = getQueryAll().map((el) => el.text);
|
| + Expect.listEquals(['Dart!', 'Hello', ''], texts);
|
| + });
|
| +
|
| + test('filter', () {
|
| + var filtered = getQueryAll().filter((n) => n is SpanElement);
|
| + Expect.equals(1, filtered.length);
|
| + Expect.isTrue(filtered[0] is SpanElement);
|
| + });
|
| +
|
| + test('every', () {
|
| + var el = getQueryAll();
|
| + Expect.isTrue(el.every((n) => n is Element));
|
| + Expect.isFalse(el.every((n) => n is SpanElement));
|
| + });
|
| +
|
| + test('some', () {
|
| + var el = getQueryAll();
|
| + Expect.isTrue(el.some((n) => n is SpanElement));
|
| + Expect.isFalse(el.some((n) => n is SVGElement));
|
| + });
|
| +
|
| + test('isEmpty', () {
|
| + Expect.isTrue(getEmptyQueryAll().isEmpty());
|
| + Expect.isFalse(getQueryAll().isEmpty());
|
| + });
|
| +
|
| + test('length', () {
|
| + Expect.equals(0, getEmptyQueryAll().length);
|
| + Expect.equals(3, getQueryAll().length);
|
| + });
|
| +
|
| + test('[]', () {
|
| + var els = getQueryAll();
|
| + Expect.isTrue(els[0] is AnchorElement);
|
| + Expect.isTrue(els[1] is SpanElement);
|
| + Expect.isTrue(els[2] is HRElement);
|
| + });
|
| +
|
| + test('iterator', () {
|
| + var els = [];
|
| + for (var subel in getQueryAll()) {
|
| + els.add(subel);
|
| + }
|
| + Expect.isTrue(els[0] is AnchorElement);
|
| + Expect.isTrue(els[1] is SpanElement);
|
| + Expect.isTrue(els[2] is HRElement);
|
| + });
|
| +
|
| + testUnsupported('[]=', () => getQueryAll()[1] = new Element.tag('br'));
|
| + testUnsupported('add', () => getQueryAll().add(new Element.tag('br')));
|
| + testUnsupported('addLast', () =>
|
| + getQueryAll().addLast(new Element.tag('br')));
|
| +
|
| + testUnsupported('addAll', () {
|
| + getQueryAll().addAll([
|
| + new Element.tag('span'),
|
| + new Element.tag('a'),
|
| + new Element.tag('h1')
|
| + ]);
|
| + });
|
| +
|
| + testUnsupported('sort', () => getQueryAll().sort((_) => true));
|
| +
|
| + testUnsupported('setRange', () => getQueryAll().setRange(0, 0, []));
|
| +
|
| + testUnsupported('removeRange', () => getQueryAll().removeRange(0, 1));
|
| +
|
| + testUnsupported('insertangeRange', () => getQueryAll().insertRange(0, 1));
|
| +
|
| + testUnsupported('clear', () => getQueryAll().clear());
|
| +
|
| + testUnsupported('removeLast', () => getQueryAll().removeLast());
|
| + });
|
| }
|
|
|