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

Side by Side Diff: samples/third_party/todomvc/test/markdone_test.dart

Issue 27903006: Improves how to initialize polymer apps and fixes polymer build and linter to (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 todomvc.test.markdone_test; 5 library todomvc.test.markdone_test;
6 6
7 import 'dart:async';
7 import 'dart:html'; 8 import 'dart:html';
8 import 'package:polymer/polymer.dart'; 9 import 'package:polymer/polymer.dart';
9 import 'package:unittest/unittest.dart'; 10 import 'package:unittest/unittest.dart';
10 import 'package:unittest/html_config.dart'; 11 import 'package:unittest/html_config.dart';
11 import '../web/model.dart'; 12 import '../web/model.dart';
12 13
13 Node findWithText(Node node, String text) { 14 Node findWithText(Node node, String text) {
14 if (node.text == text) return node; 15 if (node.text == text) return node;
15 if (node is Element && (node as Element).localName == 'polymer-element') { 16 if (node is Element && (node as Element).localName == 'polymer-element') {
16 return null; 17 return null;
(...skipping 22 matching lines...) Expand all
39 var r = findShadowHost(n, root); 40 var r = findShadowHost(n, root);
40 if (r != null) return r; 41 if (r != null) return r;
41 } 42 }
42 return null; 43 return null;
43 } 44 }
44 45
45 /** 46 /**
46 * This test runs the TodoMVC app, adds a few todos, marks some as done 47 * This test runs the TodoMVC app, adds a few todos, marks some as done
47 * programatically, and clicks on a checkbox to mark others via the UI. 48 * programatically, and clicks on a checkbox to mark others via the UI.
48 */ 49 */
49 @initMethod init() { 50 main() {
51 initPolymer();
50 useHtmlConfiguration(); 52 useHtmlConfiguration();
51 53
54 wrapMicrotask((){
52 setUp(() => Polymer.onReady); 55 setUp(() => Polymer.onReady);
53 56
54 test('mark done', () { 57 test('mark done', wrapMicrotask(() {
55 appModel.todos.add(new Todo('one (unchecked)')); 58 appModel.todos.add(new Todo('one (unchecked)'));
56 appModel.todos.add(new Todo('two (unchecked)')); 59 appModel.todos.add(new Todo('two (unchecked)'));
57 appModel.todos.add(new Todo('three (checked)')..done = true); 60 appModel.todos.add(new Todo('three (checked)')..done = true);
58 appModel.todos.add(new Todo('four (checked)')); 61 appModel.todos.add(new Todo('four (checked)'));
59 62
60 performMicrotaskCheckpoint(); 63 performMicrotaskCheckpoint();
61 var body = query('body'); 64 var body = query('body');
62 65
63 var label = findWithText(body, 'four (checked)'); 66 var label = findWithText(body, 'four (checked)');
64 expect(label is LabelElement, isTrue, reason: 'text is in a label: $label'); 67 expect(label is LabelElement, isTrue, reason: 'text is in a label: $label');
65 68
66 var host = findShadowHost(body, label.parentNode); 69 var host = findShadowHost(body, label.parentNode);
67 var node = host.parent.query('input'); 70 var node = host.parent.query('input');
68 expect(node is InputElement, isTrue, reason: 'node is a checkbox'); 71 expect(node is InputElement, isTrue, reason: 'node is a checkbox');
69 expect(node.type, 'checkbox', reason: 'node type is checkbox'); 72 expect(node.type, 'checkbox', reason: 'node type is checkbox');
70 expect(node.checked, isFalse, reason: 'element is unchecked'); 73 expect(node.checked, isFalse, reason: 'element is unchecked');
71 74
72 node.dispatchEvent(new MouseEvent('click', detail: 1)); 75 node.dispatchEvent(new MouseEvent('click', detail: 1));
73 expect(node.checked, isTrue, reason: 'element is checked'); 76 expect(node.checked, isTrue, reason: 'element is checked');
74 }); 77 }));
78 })();
75 } 79 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698