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

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

Issue 11418075: Dartifying members. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixing menuelement.compact exclusion. Created 8 years 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 | « tests/html/datalistelement_test.dart ('k') | tests/html/element_add_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
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 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. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library DocumentFragmentTest; 5 library DocumentFragmentTest;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_config.dart'; 7 import '../../pkg/unittest/lib/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 part 'util.dart'; 9 part 'util.dart';
10 10
(...skipping 27 matching lines...) Expand all
38 expect(true, isFalse, reason: 'Expected immutability error'); 38 expect(true, isFalse, reason: 'Expected immutability error');
39 }; 39 };
40 40
41 void expectEmptyStyleDeclaration(CSSStyleDeclaration style) { 41 void expectEmptyStyleDeclaration(CSSStyleDeclaration style) {
42 expect(style.cssText, equals('')); 42 expect(style.cssText, equals(''));
43 expect(style.getPropertyPriority('color'), equals('')); 43 expect(style.getPropertyPriority('color'), equals(''));
44 expect(style.item(0), equals('')); 44 expect(style.item(0), equals(''));
45 expect(style.length, isZero); 45 expect(style.length, isZero);
46 // TODO(jacobr): these checks throw UnimplementedErrors in dartium. 46 // TODO(jacobr): these checks throw UnimplementedErrors in dartium.
47 // expect(style.parentRule, isNull); 47 // expect(style.parentRule, isNull);
48 // expect(style.getPropertyCSSValue('color'), isNull); 48 // expect(style.getPropertyCssValue('color'), isNull);
49 // expect(style.getPropertyShorthand('color'), isNull); 49 // expect(style.getPropertyShorthand('color'), isNull);
50 // expect(style.isPropertyImplicit('color'), isFalse); 50 // expect(style.isPropertyImplicit('color'), isFalse);
51 51
52 // Ideally these would throw errors, but it's not possible to create a class 52 // Ideally these would throw errors, but it's not possible to create a class
53 // that'll intercept these calls without implementing the entire 53 // that'll intercept these calls without implementing the entire
54 // CSSStyleDeclaration interface, so we'll settle for them being no-ops. 54 // CSSStyleDeclaration interface, so we'll settle for them being no-ops.
55 style.cssText = '* {color: blue}'; 55 style.cssText = '* {color: blue}';
56 style.removeProperty('color'); 56 style.removeProperty('color');
57 style.setProperty('color', 'blue'); 57 style.setProperty('color', 'blue');
58 } 58 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 expect(children.last.tagName, "U"); 175 expect(children.last.tagName, "U");
176 }); 176 });
177 177
178 test('setting children overwrites nodes as well', () { 178 test('setting children overwrites nodes as well', () {
179 init(); 179 init();
180 fragment.children = [new Element.tag("DIV"), new Element.tag("HEAD")]; 180 fragment.children = [new Element.tag("DIV"), new Element.tag("HEAD")];
181 expect(_nodeStrings(fragment.nodes), equals(["DIV", "HEAD"])); 181 expect(_nodeStrings(fragment.nodes), equals(["DIV", "HEAD"]));
182 }); 182 });
183 }); 183 });
184 184
185 test('setting innerHTML works', () { 185 test('setting innerHtml works', () {
186 var fragment = new DocumentFragment(); 186 var fragment = new DocumentFragment();
187 fragment.nodes.add(new Text("foo")); 187 fragment.nodes.add(new Text("foo"));
188 fragment.innerHTML = "<a>bar</a>baz"; 188 fragment.innerHtml = "<a>bar</a>baz";
189 expect(_nodeStrings(fragment.nodes), equals(["A", "baz"])); 189 expect(_nodeStrings(fragment.nodes), equals(["A", "baz"]));
190 }); 190 });
191 191
192 test('getting innerHTML works', () { 192 test('getting innerHtml works', () {
193 var fragment = new DocumentFragment(); 193 var fragment = new DocumentFragment();
194 fragment.nodes.addAll([new Text("foo"), new Element.html("<A>bar</A>")]); 194 fragment.nodes.addAll([new Text("foo"), new Element.html("<A>bar</A>")]);
195 expect(fragment.innerHTML, "foo<a>bar</a>"); 195 expect(fragment.innerHtml, "foo<a>bar</a>");
196 expect(fragment.outerHTML, "foo<a>bar</a>"); 196 expect(fragment.outerHtml, "foo<a>bar</a>");
197 }); 197 });
198 198
199 group('insertAdjacentElement', () { 199 group('insertAdjacentElement', () {
200 getFragment() => new DocumentFragment.html("<a>foo</a>"); 200 getFragment() => new DocumentFragment.html("<a>foo</a>");
201 201
202 test('beforeBegin does nothing', () { 202 test('beforeBegin does nothing', () {
203 var fragment = getFragment(); 203 var fragment = getFragment();
204 expect(fragment.insertAdjacentElement("beforeBegin", 204 expect(fragment.insertAdjacentElement("beforeBegin",
205 new Element.tag("b")), isNull); 205 new Element.tag("b")), isNull);
206 expect(fragment.innerHTML, "<a>foo</a>"); 206 expect(fragment.innerHtml, "<a>foo</a>");
207 }); 207 });
208 208
209 test('afterEnd does nothing', () { 209 test('afterEnd does nothing', () {
210 var fragment = getFragment(); 210 var fragment = getFragment();
211 expect(fragment.insertAdjacentElement("afterEnd", 211 expect(fragment.insertAdjacentElement("afterEnd",
212 new Element.tag("b")), isNull); 212 new Element.tag("b")), isNull);
213 expect(fragment.innerHTML, "<a>foo</a>"); 213 expect(fragment.innerHtml, "<a>foo</a>");
214 }); 214 });
215 215
216 test('afterBegin inserts the element', () { 216 test('afterBegin inserts the element', () {
217 var fragment = getFragment(); 217 var fragment = getFragment();
218 var el = new Element.tag("b"); 218 var el = new Element.tag("b");
219 expect(fragment.insertAdjacentElement("afterBegin", el), equals(el)); 219 expect(fragment.insertAdjacentElement("afterBegin", el), equals(el));
220 expect(fragment.innerHTML, "<b></b><a>foo</a>"); 220 expect(fragment.innerHtml, "<b></b><a>foo</a>");
221 }); 221 });
222 222
223 test('beforeEnd inserts the element', () { 223 test('beforeEnd inserts the element', () {
224 var fragment = getFragment(); 224 var fragment = getFragment();
225 var el = new Element.tag("b"); 225 var el = new Element.tag("b");
226 expect(fragment.insertAdjacentElement("beforeEnd", el), equals(el)); 226 expect(fragment.insertAdjacentElement("beforeEnd", el), equals(el));
227 expect(fragment.innerHTML, "<a>foo</a><b></b>"); 227 expect(fragment.innerHtml, "<a>foo</a><b></b>");
228 }); 228 });
229 }); 229 });
230 230
231 group('insertAdjacentText', () { 231 group('insertAdjacentText', () {
232 getFragment() => new DocumentFragment.html("<a>foo</a>"); 232 getFragment() => new DocumentFragment.html("<a>foo</a>");
233 233
234 test('beforeBegin does nothing', () { 234 test('beforeBegin does nothing', () {
235 var fragment = getFragment(); 235 var fragment = getFragment();
236 fragment.insertAdjacentText("beforeBegin", "foo"); 236 fragment.insertAdjacentText("beforeBegin", "foo");
237 expect(fragment.innerHTML, "<a>foo</a>"); 237 expect(fragment.innerHtml, "<a>foo</a>");
238 }); 238 });
239 239
240 test('afterEnd does nothing', () { 240 test('afterEnd does nothing', () {
241 var fragment = getFragment(); 241 var fragment = getFragment();
242 fragment.insertAdjacentText("afterEnd", "foo"); 242 fragment.insertAdjacentText("afterEnd", "foo");
243 expect(fragment.innerHTML, "<a>foo</a>"); 243 expect(fragment.innerHtml, "<a>foo</a>");
244 }); 244 });
245 245
246 test('afterBegin inserts the text', () { 246 test('afterBegin inserts the text', () {
247 var fragment = getFragment(); 247 var fragment = getFragment();
248 fragment.insertAdjacentText("afterBegin", "foo"); 248 fragment.insertAdjacentText("afterBegin", "foo");
249 expect(fragment.innerHTML, "foo<a>foo</a>"); 249 expect(fragment.innerHtml, "foo<a>foo</a>");
250 }); 250 });
251 251
252 test('beforeEnd inserts the text', () { 252 test('beforeEnd inserts the text', () {
253 var fragment = getFragment(); 253 var fragment = getFragment();
254 fragment.insertAdjacentText("beforeEnd", "foo"); 254 fragment.insertAdjacentText("beforeEnd", "foo");
255 expect(fragment.innerHTML, "<a>foo</a>foo"); 255 expect(fragment.innerHtml, "<a>foo</a>foo");
256 }); 256 });
257 }); 257 });
258 258
259 group('insertAdjacentHTML', () { 259 group('insertAdjacentHtml', () {
260 getFragment() => new DocumentFragment.html("<a>foo</a>"); 260 getFragment() => new DocumentFragment.html("<a>foo</a>");
261 261
262 test('beforeBegin does nothing', () { 262 test('beforeBegin does nothing', () {
263 var fragment = getFragment(); 263 var fragment = getFragment();
264 fragment.insertAdjacentHTML("beforeBegin", "foo<br>"); 264 fragment.insertAdjacentHtml("beforeBegin", "foo<br>");
265 expect(fragment.innerHTML, "<a>foo</a>"); 265 expect(fragment.innerHtml, "<a>foo</a>");
266 }); 266 });
267 267
268 test('afterEnd does nothing', () { 268 test('afterEnd does nothing', () {
269 var fragment = getFragment(); 269 var fragment = getFragment();
270 fragment.insertAdjacentHTML("afterEnd", "<br>foo"); 270 fragment.insertAdjacentHtml("afterEnd", "<br>foo");
271 expect(fragment.innerHTML, "<a>foo</a>"); 271 expect(fragment.innerHtml, "<a>foo</a>");
272 }); 272 });
273 273
274 test('afterBegin inserts the HTML', () { 274 test('afterBegin inserts the HTML', () {
275 var fragment = getFragment(); 275 var fragment = getFragment();
276 fragment.insertAdjacentHTML("afterBegin", "foo<br>"); 276 fragment.insertAdjacentHtml("afterBegin", "foo<br>");
277 expect(fragment.innerHTML, "foo<br><a>foo</a>"); 277 expect(fragment.innerHtml, "foo<br><a>foo</a>");
278 }); 278 });
279 279
280 test('beforeEnd inserts the HTML', () { 280 test('beforeEnd inserts the HTML', () {
281 var fragment = getFragment(); 281 var fragment = getFragment();
282 fragment.insertAdjacentHTML("beforeEnd", "<br>foo"); 282 fragment.insertAdjacentHtml("beforeEnd", "<br>foo");
283 expect(fragment.innerHTML, "<a>foo</a><br>foo"); 283 expect(fragment.innerHtml, "<a>foo</a><br>foo");
284 }); 284 });
285 }); 285 });
286 286
287 // Just test that these methods don't throw errors 287 // Just test that these methods don't throw errors
288 test("no-op methods don't throw errors", () { 288 test("no-op methods don't throw errors", () {
289 var fragment = new DocumentFragment(); 289 var fragment = new DocumentFragment();
290 fragment.on.click.add((e) => null); 290 fragment.on.click.add((e) => null);
291 fragment.blur(); 291 fragment.blur();
292 fragment.focus(); 292 fragment.focus();
293 fragment.click(); 293 fragment.click();
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 // // assertConstError(() => fragment.classes.add('foo')); 344 // // assertConstError(() => fragment.classes.add('foo'));
345 // }); 345 // });
346 346
347 test('query searches the fragment', () { 347 test('query searches the fragment', () {
348 var fragment = new DocumentFragment.html( 348 var fragment = new DocumentFragment.html(
349 "<div class='foo'><a>foo</a><b>bar</b></div>"); 349 "<div class='foo'><a>foo</a><b>bar</b></div>");
350 expect(fragment.query(".foo a").tagName, "A"); 350 expect(fragment.query(".foo a").tagName, "A");
351 expect(_nodeStrings(fragment.queryAll(".foo *")), equals(["A", "B"])); 351 expect(_nodeStrings(fragment.queryAll(".foo *")), equals(["A", "B"]));
352 }); 352 });
353 } 353 }
OLDNEW
« no previous file with comments | « tests/html/datalistelement_test.dart ('k') | tests/html/element_add_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698