| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #library('DocumentFragmentTest'); | 5 #library('DocumentFragmentTest'); |
| 6 #import('../../pkg/unittest/unittest.dart'); | 6 #import('../../pkg/unittest/unittest.dart'); |
| 7 #import('../../pkg/unittest/html_config.dart'); | 7 #import('../../pkg/unittest/html_config.dart'); |
| 8 #import('dart:html'); | 8 #import('dart:html'); |
| 9 #source('util.dart'); | 9 #source('util.dart'); |
| 10 | 10 |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 55 } | 55 } |
| 56 | 56 |
| 57 group('constructors', () { | 57 group('constructors', () { |
| 58 test('0-argument makes an empty fragment', () { | 58 test('0-argument makes an empty fragment', () { |
| 59 final fragment = new DocumentFragment(); | 59 final fragment = new DocumentFragment(); |
| 60 Expect.listEquals([], fragment.elements); | 60 Expect.listEquals([], fragment.elements); |
| 61 }); | 61 }); |
| 62 | 62 |
| 63 test('.html parses input as HTML', () { | 63 test('.html parses input as HTML', () { |
| 64 final fragment = new DocumentFragment.html('<a>foo</a>'); | 64 final fragment = new DocumentFragment.html('<a>foo</a>'); |
| 65 Expect.isTrue(fragment.elements[0] is AnchorElement); | 65 Expect.isTrue(fragment.elements.first is AnchorElement); |
| 66 }); | 66 }); |
| 67 | 67 |
| 68 // test('.svg parses input as SVG', () { | 68 // test('.svg parses input as SVG', () { |
| 69 // final fragment = new DocumentFragment.svg('<a>foo</a>'); | 69 // final fragment = new DocumentFragment.svg('<a>foo</a>'); |
| 70 // Expect.isTrue(fragment.elements[0] is SVGAElement); | 70 // Expect.isTrue(fragment.elements.first is SVGAElement); |
| 71 // }); | 71 // }); |
| 72 | 72 |
| 73 // TODO(nweiz): enable this once XML is ported. | 73 // TODO(nweiz): enable this once XML is ported. |
| 74 // test('.xml parses input as XML', () { | 74 // test('.xml parses input as XML', () { |
| 75 // final fragment = new DocumentFragment.xml('<a>foo</a>'); | 75 // final fragment = new DocumentFragment.xml('<a>foo</a>'); |
| 76 // Expect.isTrue(fragment.elements[0] is XMLElement); | 76 // Expect.isTrue(fragment.elements.first is XMLElement); |
| 77 // }); | 77 // }); |
| 78 }); | 78 }); |
| 79 | 79 |
| 80 test('Unsupported operations throw errors', () { | 80 test('Unsupported operations throw errors', () { |
| 81 var emptyFragment = new DocumentFragment(); | 81 var emptyFragment = new DocumentFragment(); |
| 82 expectUnsupported(() => emptyFragment.attributes = {}); | 82 expectUnsupported(() => emptyFragment.attributes = {}); |
| 83 expectUnsupported(() => emptyFragment.classes = []); | 83 expectUnsupported(() => emptyFragment.classes = []); |
| 84 expectUnsupported(() => emptyFragment.classes.add('foo')); | 84 expectUnsupported(() => emptyFragment.classes.add('foo')); |
| 85 expectUnsupported(() => emptyFragment.dataAttributes = {}); | 85 expectUnsupported(() => emptyFragment.dataAttributes = {}); |
| 86 expectUnsupported(() => emptyFragment.contentEditable = "true"); | 86 expectUnsupported(() => emptyFragment.contentEditable = "true"); |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 Expect.listEquals(["A", "B", "I"], _nodeStrings(elements)); | 151 Expect.listEquals(["A", "B", "I"], _nodeStrings(elements)); |
| 152 | 152 |
| 153 Expect.equals("I", elements.removeLast().tagName); | 153 Expect.equals("I", elements.removeLast().tagName); |
| 154 Expect.listEquals(["1", "A", "B", "2", "3"], | 154 Expect.listEquals(["1", "A", "B", "2", "3"], |
| 155 _nodeStrings(fragment.nodes)); | 155 _nodeStrings(fragment.nodes)); |
| 156 Expect.listEquals(["A", "B"], _nodeStrings(elements)); | 156 Expect.listEquals(["A", "B"], _nodeStrings(elements)); |
| 157 }); | 157 }); |
| 158 | 158 |
| 159 test('accessors are wrapped', () { | 159 test('accessors are wrapped', () { |
| 160 init(); | 160 init(); |
| 161 Expect.equals("A", elements[0].tagName); | 161 Expect.equals("A", elements.first.tagName); |
| 162 Expect.listEquals( | 162 Expect.listEquals( |
| 163 ["I"], _nodeStrings(elements.filter((e) => e.tagName == "I"))); | 163 ["I"], _nodeStrings(elements.filter((e) => e.tagName == "I"))); |
| 164 Expect.isTrue(elements.every((e) => e is Element)); | 164 Expect.isTrue(elements.every((e) => e is Element)); |
| 165 Expect.isTrue(elements.some((e) => e.tagName == "U")); | 165 Expect.isTrue(elements.some((e) => e.tagName == "U")); |
| 166 Expect.isFalse(elements.isEmpty()); | 166 Expect.isFalse(elements.isEmpty()); |
| 167 Expect.equals(4, elements.length); | 167 Expect.equals(4, elements.length); |
| 168 Expect.equals("I", elements[2].tagName); | 168 Expect.equals("I", elements[2].tagName); |
| 169 Expect.equals("U", elements.last().tagName); | 169 Expect.equals("U", elements.last().tagName); |
| 170 }); | 170 }); |
| 171 | 171 |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 345 // // assertConstError(() => fragment.classes.add('foo')); | 345 // // assertConstError(() => fragment.classes.add('foo')); |
| 346 // }); | 346 // }); |
| 347 | 347 |
| 348 test('query searches the fragment', () { | 348 test('query searches the fragment', () { |
| 349 var fragment = new DocumentFragment.html( | 349 var fragment = new DocumentFragment.html( |
| 350 "<div class='foo'><a>foo</a><b>bar</b></div>"); | 350 "<div class='foo'><a>foo</a><b>bar</b></div>"); |
| 351 Expect.equals("A", fragment.query(".foo a").tagName); | 351 Expect.equals("A", fragment.query(".foo a").tagName); |
| 352 Expect.listEquals(["A", "B"], _nodeStrings(fragment.queryAll(".foo *"))); | 352 Expect.listEquals(["A", "B"], _nodeStrings(fragment.queryAll(".foo *"))); |
| 353 }); | 353 }); |
| 354 } | 354 } |
| OLD | NEW |