Index: tests/html/filteredelementlist_test.dart |
diff --git a/tests/html/filteredelementlist_test.dart b/tests/html/filteredelementlist_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5c0e5225288b4f82a12d972227b7d7312d3a8120 |
--- /dev/null |
+++ b/tests/html/filteredelementlist_test.dart |
@@ -0,0 +1,101 @@ |
+library filteredelementlist_test; |
+ |
+import 'package:unittest/unittest.dart'; |
+import 'package:unittest/html_config.dart'; |
+import 'dart:html'; |
+import 'dart:html_common'; |
+ |
+main() { |
+ |
+ var |
+ t1 = new Text('T1'), |
+ t2 = new Text('T2'), |
+ t3 = new Text('T3'), |
+ t4 = new Text('T4'); |
+ |
+ var |
+ d1 = new DivElement(), |
+ d2 = new DivElement(), |
+ d3 = new DivElement(); |
+ |
+ createTestDiv() { |
+ var testDiv = new DivElement(); |
+ testDiv |
+ ..append(t1) |
+ ..append(d1) |
+ ..append(t2) |
+ ..append(d2) |
+ ..append(t3) |
+ ..append(d3) |
+ ..append(t4); |
+ return testDiv; |
+ } |
+ |
+ useHtmlConfiguration(); |
+ |
+ test('FilteredElementList.insert test', () { |
+ |
+ var i = new DivElement(); |
+ |
+ // Insert before first element |
+ var nodeList = createTestDiv(); |
+ var elementList = new FilteredElementList(nodeList); |
+ elementList.insert(0, i); |
+ expect(nodeList.childNodes[0], t1); |
+ expect(nodeList.childNodes[1], i); |
+ expect(nodeList.childNodes[2], d1); |
+ |
+ // Insert in middle |
+ nodeList = createTestDiv(); |
+ elementList = new FilteredElementList(nodeList); |
+ elementList.insert(1, i); |
+ expect(nodeList.childNodes[2], t2); |
+ expect(nodeList.childNodes[3], i); |
+ expect(nodeList.childNodes[4], d2); |
+ |
+ // Insert before last element |
+ nodeList = createTestDiv(); |
+ elementList = new FilteredElementList(nodeList); |
+ elementList.insert(2, i); |
+ expect(nodeList.childNodes[4], t3); |
+ expect(nodeList.childNodes[5], i); |
+ expect(nodeList.childNodes[6], d3); |
+ }); |
+ |
+ test('FilteredElementList.insertAll test', () { |
+ |
+ var |
+ i1 = new DivElement(), |
+ i2 = new DivElement(); |
+ |
+ var it = [i1, i2]; |
+ |
+ // Insert before first element |
+ var nodeList = createTestDiv(); |
+ var elementList = new FilteredElementList(nodeList); |
+ elementList.insertAll(0, it); |
+ expect(nodeList.childNodes[0], t1); |
+ expect(nodeList.childNodes[1], i1); |
+ expect(nodeList.childNodes[2], i2); |
+ expect(nodeList.childNodes[3], d1); |
+ |
+ // Insert in middle |
+ nodeList = createTestDiv(); |
+ elementList = new FilteredElementList(nodeList); |
+ elementList.insertAll(1, it); |
+ expect(nodeList.childNodes[2], t2); |
+ expect(nodeList.childNodes[3], i1); |
+ expect(nodeList.childNodes[4], i2); |
+ expect(nodeList.childNodes[5], d2); |
+ |
+ // Insert before last element |
+ nodeList = createTestDiv(); |
+ elementList = new FilteredElementList(nodeList); |
+ elementList.insertAll(2, it); |
+ expect(nodeList.childNodes[4], t3); |
+ expect(nodeList.childNodes[5], i1); |
+ expect(nodeList.childNodes[6], i2); |
+ expect(nodeList.childNodes[7], d3); |
+ }); |
+ |
+} |