Chromium Code Reviews| Index: pkg/polymer/test/js_interop_test.dart |
| diff --git a/pkg/polymer/test/js_interop_test.dart b/pkg/polymer/test/js_interop_test.dart |
| index e4bc6aa530781cb1ea2e2997f272713378c012d4..154cd01d8a232b6882738281d1f6fee22d93af41 100644 |
| --- a/pkg/polymer/test/js_interop_test.dart |
| +++ b/pkg/polymer/test/js_interop_test.dart |
| @@ -95,13 +95,22 @@ main() => initPolymer().run(() { |
| // Text will update asynchronously |
| expect(jsElem.shadowRoot.text, 'FOOBAR:40'); |
| - return new Future(() { |
| + return _onTextChanged(jsElem.shadowRoot).then((_) { |
|
Siggi Cherem (dart-lang)
2014/07/08 16:50:38
could we replace this with:
jsElem.onMutation(js
Jennifer Messerly
2014/07/08 18:39:18
no, for two reasons:
* jsElem is a JS element so
|
| expect(jsElem.shadowRoot.text, 'FOOBAR:42'); |
| }); |
| }); |
| }); |
| }); |
| +Future<List<MutationRecord>> _onTextChanged(Node node) { |
| + var completer = new Completer(); |
| + new MutationObserver((mutations, observer) { |
| + observer.disconnect(); |
| + completer.complete(mutations); |
| + })..observe(node, characterData: true, subtree: true); |
| + return completer.future; |
| +} |
| + |
| testInterop(jsElem) { |
| expect(jsElem.shadowRoot.text, 'FOOBAR'); |
| var interop = new JsObject.fromBrowserObject(jsElem); |