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

Unified Diff: test/codegen/lib/html/filteredelementlist_test.dart

Issue 1930043002: Add all dart:html tests from the sdk to test/codegen. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: ptal Created 4 years, 8 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 | « test/codegen/lib/html/filereader_test.dart ('k') | test/codegen/lib/html/fontface_loaded_test.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/codegen/lib/html/filteredelementlist_test.dart
diff --git a/test/codegen/lib/html/filteredelementlist_test.dart b/test/codegen/lib/html/filteredelementlist_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..b4110f74a5ca5e590e109cd4452922d33a25a6eb
--- /dev/null
+++ b/test/codegen/lib/html/filteredelementlist_test.dart
@@ -0,0 +1,111 @@
+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);
+ });
+
+ test('FilteredElementList.insertAndRemove', () {
+ var emptyDiv = new DivElement();
+ var elementList = new FilteredElementList(emptyDiv);
+ expect(() => elementList[0], throwsA(isRangeError));
+ expect(() => elementList.insert(2, new BRElement()), throwsA(isRangeError));
+ var br = new BRElement();
+ elementList.insert(0, br);
+ expect(elementList.removeLast(), br);
+ elementList.add(br);
+ expect(elementList.remove(br), isTrue);
+ var br2 = new BRElement();
+ elementList.add(br);
+ expect(elementList.remove(br2), isFalse);
+ expect(elementList[0], br);
+ expect(() => elementList[1], throwsA(isRangeError));
+ });
+}
« no previous file with comments | « test/codegen/lib/html/filereader_test.dart ('k') | test/codegen/lib/html/fontface_loaded_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698