| 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 |