Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(570)

Unified Diff: tests/html/filteredelementlist_test.dart

Issue 1129333002: Indices passed to FilteredElementList public functions should consistently refer to element indices (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Test cases and patch for Dart issue 23418 Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/html/html_common/filtered_element_list.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
+ });
+
+}
« no previous file with comments | « sdk/lib/html/html_common/filtered_element_list.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698