| Index: tests/html/js_test.dart
|
| diff --git a/tests/html/js_test.dart b/tests/html/js_test.dart
|
| index 290a0fbb85e5b77cdcd43b4cacc06109668ef362..ccade724fd302edef8fd493d5678c6857adeb2bb 100644
|
| --- a/tests/html/js_test.dart
|
| +++ b/tests/html/js_test.dart
|
| @@ -124,6 +124,10 @@ function Baz(p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11) {
|
| this.f10 = p10;
|
| this.f11 = p11;
|
| }
|
| +
|
| +function identical(o1, o2) {
|
| + return o1 === o2;
|
| +}
|
| """;
|
| document.body.append(script);
|
| }
|
| @@ -147,6 +151,8 @@ class Color implements Serializable<String> {
|
| String toJs() => this._value;
|
| }
|
|
|
| +class TestDartObject {}
|
| +
|
| main() {
|
| _injectJs();
|
| useHtmlConfiguration();
|
| @@ -157,6 +163,28 @@ main() {
|
| expect(identical(c1, c2), isTrue);
|
| });
|
|
|
| + test('identical JS objects should have identical proxies', () {
|
| + var o1 = context['location'];
|
| + var o2 = context['location'];
|
| + expect(identical(o1, o2), isTrue);
|
| + });
|
| +
|
| + test('identical JS functions should have identical proxies', () {
|
| + var f1 = context['Object'];
|
| + var f2 = context['Object'];
|
| + expect(identical(f1, f2), isTrue);
|
| + });
|
| +
|
| + test('identical Dart objects should have identical proxies', () {
|
| + var o1 = new TestDartObject();
|
| + expect(context.callMethod('identical', [o1, o1]), isTrue);
|
| + });
|
| +
|
| + test('identical Dart functions should have identical proxies', () {
|
| + var f1 = () => print("I'm a Function!");
|
| + expect(context.callMethod('identical', [f1, f1]), isTrue);
|
| + });
|
| +
|
| test('read global field', () {
|
| expect(context['x'], equals(42));
|
| expect(context['y'], isNull);
|
|
|