Index: pkg/polymer/test/event_handlers_test.dart |
diff --git a/pkg/polymer/test/event_handlers_test.dart b/pkg/polymer/test/event_handlers_test.dart |
index 779ccb65a239cf598f3bcdf8bbc5c7948f8391c2..31380465d20eeb7801e36bdf32d7db75b907c3d5 100644 |
--- a/pkg/polymer/test/event_handlers_test.dart |
+++ b/pkg/polymer/test/event_handlers_test.dart |
@@ -7,10 +7,11 @@ library polymer.test.event_handlers_test; |
import 'dart:async'; |
import 'dart:html'; |
-import 'package:unittest/unittest.dart'; |
-import 'package:unittest/html_config.dart'; |
+import 'package:logging/logging.dart'; |
import 'package:polymer/polymer.dart'; |
import 'package:template_binding/template_binding.dart'; |
+import 'package:unittest/unittest.dart'; |
+import 'package:unittest/html_config.dart'; |
@CustomTag('x-test') |
class XTest extends PolymerElement { |
@@ -19,12 +20,9 @@ class XTest extends PolymerElement { |
String _lastMessage; |
List list1 = []; |
List list2 = []; |
- final _ready = new Completer(); |
- Future _onTestDone; |
+ final _onTestDone = new Completer(); |
- XTest.created() : super.created() { |
- _onTestDone = _ready.future.then(_runTest); |
- } |
+ XTest.created() : super.created(); |
ready() { |
super.ready(); |
@@ -33,7 +31,10 @@ class XTest extends PolymerElement { |
list1.add(model); |
list2.add(model); |
} |
- _ready.complete(); |
+ |
+ // TODO(jmesserly): is there a cleaner way to do this? |
+ new Future.sync(_runTests).then((x) { _onTestDone.complete(x); }, |
+ onError: (e, s) { _onTestDone.completeError(e, s); }); |
Siggi Cherem (dart-lang)
2013/10/29 22:49:49
I'm still surprised by this. Especially that you n
Jennifer Messerly
2013/10/29 23:07:19
you're right. ready will be called sync from creat
|
} |
hostTapAction(event, detail, node) => _logEvent(event); |
@@ -57,7 +58,7 @@ class XTest extends PolymerElement { |
_lastMessage = message; |
} |
- _runTest(_) { |
+ Future _runTests() { |
fire('tap', toNode: $['div']); |
expect(_testCount, 2, reason: 'event heard at div and host'); |
expect(_lastEvent, 'tap', reason: 'tap handled'); |
@@ -70,6 +71,7 @@ class XTest extends PolymerElement { |
fire('scroll', toNode: $['list'], canBubble: false); |
expect(_testCount, 5, reason: 'event heard by list'); |
expect(_lastEvent, 'scroll', reason: 'scroll handled'); |
+ |
return onMutation($['list']).then((_) { |
var l1 = $['list'].querySelectorAll('.list1')[4]; |
fire('tap', toNode: l1, canBubble: false); |
@@ -103,6 +105,9 @@ class MiniModel extends Observable { |
} |
main() { |
+ Logger.root..level = Level.FINE |
+ ..onRecord.listen((m) => print('${m.loggerName} ${m.message}')); |
+ |
initPolymer(); |
} |