Chromium Code Reviews| Index: test/mjsunit/harmony/generators-poisoned-properties.js |
| diff --git a/test/mjsunit/harmony/generators-poisoned-properties.js b/test/mjsunit/harmony/generators-poisoned-properties.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..5a0729b23dd5b44a5f90bd7b93147003abd09173 |
| --- /dev/null |
| +++ b/test/mjsunit/harmony/generators-poisoned-properties.js |
| @@ -0,0 +1,35 @@ |
| +// Copyright 2014 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. |
| + |
| +// Flags: --harmony-generators |
| + |
| +function test(f) { |
| + var cdesc = Object.getOwnPropertyDescriptor(f, "caller"); |
| + var adesc = Object.getOwnPropertyDescriptor(f, "arguments"); |
| + |
| + assertFalse(cdesc.enumerable); |
| + assertFalse(cdesc.configurable); |
| + |
| + assertFalse(adesc.enumerable); |
| + assertFalse(adesc.configurable); |
| + |
| + assertSame(cdesc.get, cdesc.set); |
| + assertSame(cdesc.get, adesc.get); |
| + assertSame(cdesc.get, adesc.set); |
| + |
| + assertTrue(cdesc.get instanceof Function); |
| + assertEquals(0, cdesc.get.length); |
| + assertThrows(cdesc.get, TypeError); |
| + |
| + assertThrows(function() { return f.caller; }, TypeError); |
| + assertThrows(function() { f.caller = 42; }, TypeError); |
| + assertThrows(function() { return f.arguments; }, TypeError); |
| + assertThrows(function() { f.arguments = 42; }, TypeError); |
| +} |
|
rossberg
2014/05/07 09:19:54
This should probably include tests to check the pr
|
| + |
| +function *sloppy() {} |
| +function *strict() { "use strict"; } |
| + |
| +test(sloppy); |
| +test(strict); |