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 @initMethod | 21 main() => initPolymer().run(() { |
22 main() { | |
23 useHtmlConfiguration(); | 22 useHtmlConfiguration(); |
24 | 23 |
25 var ready = Polymer.onReady.then((_) { | 24 var ready = Polymer.onReady.then((_) { |
26 var a = querySelector("#a"); | 25 var a = querySelector("#a"); |
27 templateBind(a).model = "foo"; | 26 templateBind(a).model = "foo"; |
28 return onMutation(a.parent); | 27 return onMutation(a.parent); |
29 }); | 28 }); |
30 | 29 |
31 setUp(() => ready); | 30 setUp(() => ready); |
32 | 31 |
33 test('template found with multiple noscript declarations', () { | 32 test('template found with multiple noscript declarations', () { |
34 expect(querySelector('x-a').shadowRoot.nodes.first.text, 'a'); | 33 expect(querySelector('x-a').shadowRoot.nodes.first.text, 'a'); |
35 expect(querySelector('x-c').shadowRoot.nodes.first.text, 'c'); | 34 expect(querySelector('x-c').shadowRoot.nodes.first.text, 'c'); |
36 expect(querySelector('x-b').shadowRoot.nodes.first.text, 'b'); | 35 expect(querySelector('x-b').shadowRoot.nodes.first.text, 'b'); |
37 expect(querySelector('x-d').shadowRoot.nodes.first.text, 'd'); | 36 expect(querySelector('x-d').shadowRoot.nodes.first.text, 'd'); |
38 }); | 37 }); |
39 } | 38 }); |
OLD | NEW |