OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:html'; | 5 import 'dart:html'; |
6 | 6 |
7 import 'package:unittest/unittest.dart'; | 7 import 'package:unittest/unittest.dart'; |
8 | 8 |
9 main() { | 9 main() { |
10 test('cross_domain_iframe', () { | 10 test('cross_domain_iframe', () { |
11 var uri = Uri.parse(window.location.href); | 11 var uri = Uri.parse(window.location.href); |
12 | 12 |
13 var crossOriginPort = int.parse(uri.queryParameters['crossOriginPort']); | 13 var crossOriginPort = int.parse(uri.queryParameters['crossOriginPort']); |
14 var crossOrigin = '${uri.scheme}://${uri.host}:$crossOriginPort'; | 14 var crossOrigin = '${uri.scheme}://${uri.host}:$crossOriginPort'; |
15 var crossOriginUrl = | 15 var crossOriginUrl = |
16 '$crossOrigin/root_dart/tests/html/cross_domain_iframe_script.html'; | 16 '$crossOrigin/root_dart/tests/html/cross_domain_iframe_script.html'; |
17 | 17 |
18 var iframe = new IFrameElement(); | 18 var iframe = new IFrameElement(); |
19 iframe.src = crossOriginUrl; | 19 iframe.src = crossOriginUrl; |
20 document.body.append(iframe); | 20 document.body.append(iframe); |
21 | 21 |
22 window.onMessage.where((MessageEvent event) { | 22 window.onMessage |
23 return event.origin == crossOrigin; | 23 .where((MessageEvent event) { |
24 }).first.then(expectAsync((MessageEvent event) { | 24 return event.origin == crossOrigin; |
25 expect(event.data, equals('foobar')); | 25 }) |
26 expect(event.source, isNotNull); | 26 .first |
27 })); | 27 .then(expectAsync((MessageEvent event) { |
| 28 expect(event.data, equals('foobar')); |
| 29 expect(event.source, isNotNull); |
| 30 })); |
28 }); | 31 }); |
29 } | 32 } |
OLD | NEW |