| 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);
|
| + });
|
| +
|
| +}
|
|
|