OLD | NEW |
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 import 'dart:async'; | 5 import 'dart:async'; |
6 import 'dart:html'; | 6 import 'dart:html'; |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 import 'package:unittest/html_config.dart'; | 8 import 'package:unittest/html_config.dart'; |
9 import 'package:polymer/polymer.dart'; | 9 import 'package:polymer/polymer.dart'; |
10 import 'package:template_binding/template_binding.dart'; | 10 import 'package:template_binding/template_binding.dart'; |
11 | 11 |
12 Future<List<MutationRecord>> onMutation(Node node) { | 12 Future<List<MutationRecord>> onMutation(Node node) { |
13 var completer = new Completer(); | 13 var completer = new Completer(); |
14 new MutationObserver((mutations, observer) { | 14 new MutationObserver((mutations, observer) { |
15 observer.disconnect(); | 15 observer.disconnect(); |
16 completer.complete(mutations); | 16 completer.complete(mutations); |
17 })..observe(node, childList: true, subtree: true); | 17 })..observe(node, childList: true, subtree: true); |
18 return completer.future; | 18 return completer.future; |
19 } | 19 } |
20 | 20 |
21 main() => initPolymer().run(() { | 21 @initMethod |
| 22 main() { |
22 useHtmlConfiguration(); | 23 useHtmlConfiguration(); |
23 | 24 |
24 var ready = Polymer.onReady.then((_) { | 25 var ready = Polymer.onReady.then((_) { |
25 var a = querySelector("#a"); | 26 var a = querySelector("#a"); |
26 templateBind(a).model = "foo"; | 27 templateBind(a).model = "foo"; |
27 return onMutation(a.parent); | 28 return onMutation(a.parent); |
28 }); | 29 }); |
29 | 30 |
30 setUp(() => ready); | 31 setUp(() => ready); |
31 | 32 |
32 test('template found with multiple noscript declarations', () { | 33 test('template found with multiple noscript declarations', () { |
33 expect(querySelector('x-a').shadowRoot.nodes.first.text, 'a'); | 34 expect(querySelector('x-a').shadowRoot.nodes.first.text, 'a'); |
34 expect(querySelector('x-c').shadowRoot.nodes.first.text, 'c'); | 35 expect(querySelector('x-c').shadowRoot.nodes.first.text, 'c'); |
35 expect(querySelector('x-b').shadowRoot.nodes.first.text, 'b'); | 36 expect(querySelector('x-b').shadowRoot.nodes.first.text, 'b'); |
36 expect(querySelector('x-d').shadowRoot.nodes.first.text, 'd'); | 37 expect(querySelector('x-d').shadowRoot.nodes.first.text, 'd'); |
37 }); | 38 }); |
38 }); | 39 } |
OLD | NEW |