fix custom_element_proxy in ff/safari/ie
diff --git a/test/custom_element_proxy_test.dart b/test/custom_element_proxy_test.dart
index 4e3c188..ed2342f 100644
--- a/test/custom_element_proxy_test.dart
+++ b/test/custom_element_proxy_test.dart
@@ -3,6 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
library custom_element_proxy_test;
+import 'dart:async';
import 'dart:html';
import 'dart:js';
import 'package:initialize/initialize.dart' as init;
@@ -33,7 +34,7 @@
main() {
useHtmlConfiguration();
- init.run();
+ init.run().then((_) {
var container = querySelector('#container') as DivElement;
@@ -44,20 +45,32 @@
test('basic custom element', () {
container.append(new BasicElement());
container.appendHtml('<basic-element></basic_element>');
- var elements = container.querySelectorAll('basic-element');
- for (var element in elements) {
- expect(element.runtimeType, BasicElement);
- expect(element.isBasicElement, isTrue);
- }
+ // TODO(jakemac): after appendHtml elements are upgraded asynchronously,
+ // why? https://github.com/dart-lang/web-components/issues/4
+ return new Future(() {}).then((_) {
+ var elements = container.querySelectorAll('basic-element');
+ expect(elements.length, 2);
+ for (BasicElement element in elements) {
+ print(element.outerHtml);
+ print(element.runtimeType);
+ expect(element.isBasicElement, isTrue);
+ }
+ });
});
test('extends custom element', () {
container.append(new ExtendedElement());
container.appendHtml('<input is="extended-element" />');
- var elements = container.querySelectorAll('extended-element');
- for (var element in elements) {
- expect(element.runtimeType, ExtendedElement);
- expect(element.isExtendedElement, isTrue);
- }
+ // TODO(jakemac): after appendHtml elements are upgraded asynchronously,
+ // why? https://github.com/dart-lang/web-components/issues/4
+ return new Future(() {}).then((_) {
+ var elements = container.querySelectorAll('input');
+ expect(elements.length, 2);
+ for (ExtendedElement element in elements) {
+ expect(element.isExtendedElement, isTrue);
+ }
+ });
+ });
+
});
}