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:polymer/polymer.dart'; | 7 import 'package:polymer/polymer.dart'; |
8 import 'package:unittest/unittest.dart'; | 8 import 'package:unittest/unittest.dart'; |
9 import 'package:unittest/html_config.dart'; | 9 import 'package:unittest/html_config.dart'; |
10 import 'package:template_binding/template_binding.dart'; | 10 import 'package:template_binding/template_binding.dart'; |
11 | 11 |
12 @CustomTag('x-target') | 12 @CustomTag('x-target') |
13 class XTarget extends PolymerElement { | 13 class XTarget extends PolymerElement { |
14 XTarget.created() : super.created(); | 14 XTarget.created() : super.created(); |
15 | 15 |
16 final Completer _found = new Completer(); | 16 final Completer _found = new Completer(); |
17 Future get foundSrc => _found.future; | 17 Future get foundSrc => _found.future; |
18 | 18 |
19 // force an mdv binding | 19 // force an mdv binding |
20 bind(name, model, [path]) => | 20 bind(name, value, {oneTime: false}) => |
21 nodeBindFallback(this).bind(name, model, path); | 21 nodeBindFallback(this).bind(name, value, oneTime: oneTime); |
22 | 22 |
23 inserted() { | 23 inserted() { |
24 testSrcForMustache(); | 24 testSrcForMustache(); |
25 } | 25 } |
26 | 26 |
27 attributeChanged(name, oldValue, newValue) { | 27 attributeChanged(name, oldValue, newValue) { |
28 testSrcForMustache(); | 28 testSrcForMustache(); |
29 if (attributes[name] == '../testSource') { | 29 if (attributes[name] == '../testSource') { |
30 _found.complete(); | 30 _found.complete(); |
31 } | 31 } |
(...skipping 17 matching lines...) Expand all Loading... |
49 useHtmlConfiguration(); | 49 useHtmlConfiguration(); |
50 | 50 |
51 setUp(() => Polymer.onReady); | 51 setUp(() => Polymer.onReady); |
52 | 52 |
53 test('mustache attributes', () { | 53 test('mustache attributes', () { |
54 final xtest = document.query('#test'); | 54 final xtest = document.query('#test'); |
55 final xtarget = xtest.shadowRoot.query('#target'); | 55 final xtarget = xtest.shadowRoot.query('#target'); |
56 return xtarget.foundSrc; | 56 return xtarget.foundSrc; |
57 }); | 57 }); |
58 } | 58 } |
OLD | NEW |