| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 jsTest; | 5 library jsTest; |
| 6 | 6 |
| 7 import 'dart:async'; | 7 import 'dart:async'; |
| 8 import 'dart:html'; | 8 import 'dart:html'; |
| 9 import 'dart:typed_data' show ByteBuffer, Int32List; | 9 import 'dart:typed_data' show ByteBuffer, Int32List; |
| 10 import 'dart:indexed_db' show IdbFactory, KeyRange; | 10 import 'dart:indexed_db' show IdbFactory, KeyRange; |
| (...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 652 group('Dart functions', () { | 652 group('Dart functions', () { |
| 653 test('invoke Dart callback from JS', () { | 653 test('invoke Dart callback from JS', () { |
| 654 expect(() => context.callMethod('invokeCallback'), throws); | 654 expect(() => context.callMethod('invokeCallback'), throws); |
| 655 | 655 |
| 656 context['callback'] = () => 42; | 656 context['callback'] = () => 42; |
| 657 expect(context.callMethod('invokeCallback'), equals(42)); | 657 expect(context.callMethod('invokeCallback'), equals(42)); |
| 658 | 658 |
| 659 context.deleteProperty('callback'); | 659 context.deleteProperty('callback'); |
| 660 }); | 660 }); |
| 661 | 661 |
| 662 test('invoke Dart callback from JS in a Zone', () { |
| 663 expect(() => context.callMethod('invokeCallback'), throws); |
| 664 |
| 665 var childZone = Zone.current.fork(); |
| 666 childZone.run(() { |
| 667 context['callback'] = () { |
| 668 expect(Zone.current, childZone); |
| 669 }; |
| 670 }); |
| 671 context.callMethod('invokeCallback'); |
| 672 |
| 673 context.deleteProperty('callback'); |
| 674 }); |
| 675 |
| 662 test('callback as parameter', () { | 676 test('callback as parameter', () { |
| 663 expect(context.callMethod('getTypeOf', [context['razzle']]), | 677 expect(context.callMethod('getTypeOf', [context['razzle']]), |
| 664 equals("function")); | 678 equals("function")); |
| 665 }); | 679 }); |
| 666 | 680 |
| 667 test('invoke Dart callback from JS with this', () { | 681 test('invoke Dart callback from JS with this', () { |
| 668 // A JavaScript constructor function implemented in Dart which | 682 // A JavaScript constructor function implemented in Dart which |
| 669 // uses 'this' | 683 // uses 'this' |
| 670 final constructor = new JsFunction.withThis(($this, arg1) { | 684 final constructor = new JsFunction.withThis(($this, arg1) { |
| 671 var t = $this; | 685 var t = $this; |
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1005 // expect(context.callMethod('isPropertyInstanceOf', ['o', listType]), | 1019 // expect(context.callMethod('isPropertyInstanceOf', ['o', listType]), |
| 1006 // isTrue); | 1020 // isTrue); |
| 1007 context.deleteProperty('o'); | 1021 context.deleteProperty('o'); |
| 1008 } | 1022 } |
| 1009 }); | 1023 }); |
| 1010 | 1024 |
| 1011 }); | 1025 }); |
| 1012 }); | 1026 }); |
| 1013 | 1027 |
| 1014 } | 1028 } |
| OLD | NEW |