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

Side by Side Diff: tests/html/element_add_test.dart

Issue 10883070: Implementing polyfills for insertAdjacent* to get them working on FF. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « lib/html/doc/interface/Element.dartdoc ('k') | tests/html/element_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
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
4
5 #library('ElementAddTest');
6 #import('../../pkg/unittest/unittest.dart');
7 #import('../../pkg/unittest/html_config.dart');
8 #import('dart:html');
9 #source('util.dart');
10
11 main() {
12 useHtmlConfiguration();
13
14 void expectNoSuchMethod(void fn()) =>
15 Expect.throws(fn, (e) => e is NoSuchMethodException);
16
17 group('addHTML', () {
18 test('htmlelement', () {
19 var el = new DivElement();
20 el.addHTML('<span></span>');
21 expect(el.elements.length, equals(1));
22 var span = el.elements[0];
23 expect(span is SpanElement);
24
25 el.addHTML('<div></div>');
26 expect(el.elements.length, equals(2));
27 // Validate that the first item is still first.
28 expect(el.elements[0] == span);
29 expect(el.elements[1] is DivElement);
30 });
31
32 test('documentFragment', () {
33 var fragment = new DocumentFragment();
34 fragment.addHTML('<span>something</span>');
35 expect(fragment.elements.length, equals(1));
36 expect(fragment.elements[0] is SpanElement);
37 });
38 });
39
40 group('addText', () {
41 test('htmlelement', () {
42 var el = new DivElement();
43 el.addText('foo');
44 // No elements were created.
45 expect(el.elements.length, equals(0));
46 // One text node was added.
47 expect(el.nodes.length, equals(1));
48 });
49
50 test('documentFragment', () {
51 var fragment = new DocumentFragment();
52 fragment.addText('foo');
53 // No elements were created.
54 expect(fragment.elements.length, equals(0));
55 // One text node was added.
56 expect(fragment.nodes.length, equals(1));
57 });
58 });
59
60 group('insertAdjacentElement', () {
61 test('beforebegin', () {
62 var parent = new DivElement();
63 var child = new DivElement();
64 var newChild = new SpanElement();
65 parent.elements.add(child);
66
67 child.insertAdjacentElement('beforebegin', newChild);
68
69 expect(parent.elements.length, 2);
70 expect(parent.elements[0] is SpanElement);
71 });
72
73 test('afterend', () {
74 var parent = new DivElement();
75 var child = new DivElement();
76 var newChild = new SpanElement();
77 parent.elements.add(child);
78
79 child.insertAdjacentElement('afterend', newChild);
80
81 expect(parent.elements.length, 2);
82 expect(parent.elements[1] is SpanElement);
83 });
84
85 test('afterbegin', () {
86 var parent = new DivElement();
87 var child = new DivElement();
88 var newChild = new SpanElement();
89 parent.elements.add(child);
90
91 parent.insertAdjacentElement('afterbegin', newChild);
92
93 expect(parent.elements.length, 2);
94 expect(parent.elements[0] is SpanElement);
95 });
96
97 test('beforeend', () {
98 var parent = new DivElement();
99 var child = new DivElement();
100 var newChild = new SpanElement();
101 parent.elements.add(child);
102
103 parent.insertAdjacentElement('beforeend', newChild);
104
105 expect(parent.elements.length, 2);
106 expect(parent.elements[1] is SpanElement);
107 });
108 });
109
110 group('insertAdjacentHTML', () {
111 test('beforebegin', () {
112 var parent = new DivElement();
113 var child = new DivElement();
114 parent.elements.add(child);
115
116 child.insertAdjacentHTML('beforebegin', '<span></span>');
117
118 expect(parent.elements.length, 2);
119 expect(parent.elements[0] is SpanElement);
120 });
121
122 test('afterend', () {
123 var parent = new DivElement();
124 var child = new DivElement();
125 parent.elements.add(child);
126
127 child.insertAdjacentHTML('afterend', '<span></span>');
128
129 expect(parent.elements.length, 2);
130 expect(parent.elements[1] is SpanElement);
131 });
132
133 test('afterbegin', () {
134 var parent = new DivElement();
135 var child = new DivElement();
136 parent.elements.add(child);
137
138 parent.insertAdjacentHTML('afterbegin', '<span></span>');
139
140 expect(parent.elements.length, 2);
141 expect(parent.elements[0] is SpanElement);
142 });
143
144 test('beforeend', () {
145 var parent = new DivElement();
146 var child = new DivElement();
147 parent.elements.add(child);
148
149 parent.insertAdjacentHTML('beforeend', '<span></span>');
150
151 expect(parent.elements.length, 2);
152 expect(parent.elements[1] is SpanElement);
153 });
154 });
155
156 group('insertAdjacentText', () {
157 test('beforebegin', () {
158 var parent = new DivElement();
159 var child = new DivElement();
160 parent.elements.add(child);
161
162 child.insertAdjacentText('beforebegin', 'test');
163
164 expect(parent.nodes.length, 2);
165 expect(parent.nodes[0] is Text);
166 });
167
168 test('afterend', () {
169 var parent = new DivElement();
170 var child = new DivElement();
171 parent.elements.add(child);
172
173 child.insertAdjacentText('afterend', 'test');
174
175 expect(parent.nodes.length, 2);
176 expect(parent.nodes[1] is Text);
177 });
178
179 test('afterbegin', () {
180 var parent = new DivElement();
181 var child = new DivElement();
182 parent.elements.add(child);
183
184 parent.insertAdjacentText('afterbegin', 'test');
185
186 expect(parent.nodes.length, 2);
187 expect(parent.nodes[0] is Text);
188 });
189
190 test('beforeend', () {
191 var parent = new DivElement();
192 var child = new DivElement();
193 parent.elements.add(child);
194
195 parent.insertAdjacentText('beforeend', 'test');
196
197 expect(parent.nodes.length, 2);
198 expect(parent.nodes[1] is Text);
199 });
200 });
201 }
OLDNEW
« no previous file with comments | « lib/html/doc/interface/Element.dartdoc ('k') | tests/html/element_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698