Chromium Code Reviews| Index: test/mjsunit/realm-property-access.js |
| diff --git a/test/mjsunit/realm-property-access.js b/test/mjsunit/realm-property-access.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5ce7210873271bb3a61918e4031c8e6dde1c1b46 |
| --- /dev/null |
| +++ b/test/mjsunit/realm-property-access.js |
| @@ -0,0 +1,18 @@ |
| +// Copyright 2016 the V8 project authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +var r = Realm.create(); |
| +var f = Realm.eval(r, "function f() { return this }; f()"); |
| + |
| +// Cross-origin property access throws |
| +assertThrows(() => f.a, TypeError); |
| +assertThrows(() => { 'use strict'; f.a = 1 }, TypeError); |
| + |
| +var r2 = Realm.createAllowCrossRealmAccess(); |
| +var f2 = Realm.eval(r2, "function f() { return this }; f()"); |
| + |
| +// Same-origin property access doesn't throw |
|
adamk
2016/05/19 19:23:20
Please also add a test that accessing properties o
Dan Ehrenberg
2016/05/27 13:51:40
A new test checks that f{,2} equals the output of
|
| +assertEquals(undefined, f2.a); |
| +f2.a = 1; |
| +assertEquals(1, f2.a); |