OLD | NEW |
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 register_element_proxy_test; | |
6 | |
7 import 'dart:async'; | 5 import 'dart:async'; |
8 import 'dart:html'; | 6 import 'dart:html'; |
9 import 'dart:js' as js; | 7 import 'dart:js' as js; |
10 import 'package:unittest/html_config.dart'; | 8 |
11 import 'package:unittest/unittest.dart'; | 9 import 'package:expect/minitest.dart'; |
| 10 |
12 import '../utils.dart'; | 11 import '../utils.dart'; |
13 | 12 |
14 class FooElement extends HtmlElement { | 13 class FooElement extends HtmlElement { |
15 static final tag = 'x-foo'; | 14 static final tag = 'x-foo'; |
16 | 15 |
17 final int initializedField = 666; | 16 final int initializedField = 666; |
18 js.JsObject _proxy; | 17 js.JsObject _proxy; |
19 | 18 |
20 factory FooElement() => new Element.tag(tag); | 19 factory FooElement() => new Element.tag(tag); |
21 FooElement.created() : super.created() { | 20 FooElement.created() : super.created() { |
22 _proxy = new js.JsObject.fromBrowserObject(this); | 21 _proxy = new js.JsObject.fromBrowserObject(this); |
23 } | 22 } |
24 | 23 |
25 String doSomething() => _proxy.callMethod('doSomething'); | 24 String doSomething() => _proxy.callMethod('doSomething'); |
26 | 25 |
27 bool get fooCreated => _proxy['fooCreated']; | 26 bool get fooCreated => _proxy['fooCreated']; |
28 } | 27 } |
29 | 28 |
30 main() { | 29 main() { |
31 useHtmlConfiguration(); | |
32 | |
33 var registered = false; | 30 var registered = false; |
34 var upgrader; | 31 var upgrader; |
35 setUp(() => customElementsReady.then((_) { | 32 setUp(() => customElementsReady.then((_) { |
36 if (!registered) { | 33 if (!registered) { |
37 registered = true; | 34 registered = true; |
38 upgrader = document.createElementUpgrader(FooElement); | 35 upgrader = document.createElementUpgrader(FooElement); |
39 js.context['upgradeListener'] = (e) { | 36 js.context['upgradeListener'] = (e) { |
40 upgrader.upgrade(e); | 37 upgrader.upgrade(e); |
41 }; | 38 }; |
42 | 39 |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 } | 120 } |
124 | 121 |
125 class CustomDiv extends DivElement { | 122 class CustomDiv extends DivElement { |
126 CustomDiv.created() : super.created(); | 123 CustomDiv.created() : super.created(); |
127 } | 124 } |
128 | 125 |
129 class CustomElement extends HtmlElement { | 126 class CustomElement extends HtmlElement { |
130 factory CustomElement() => document.createElement('custom-element'); | 127 factory CustomElement() => document.createElement('custom-element'); |
131 CustomElement.created() : super.created(); | 128 CustomElement.created() : super.created(); |
132 } | 129 } |
OLD | NEW |