| OLD | NEW | 
|---|
|  | (Empty) | 
| 1 // Copyright 2014 the V8 project authors. All rights reserved. |  | 
| 2 // Use of this source code is governed by a BSD-style license that can be |  | 
| 3 // found in the LICENSE file. |  | 
| 4 |  | 
| 5 // Flags: --harmony-generators |  | 
| 6 |  | 
| 7 function assertIteratorResult(value, done, result) { |  | 
| 8   assertEquals({value: value, done: done}, result); |  | 
| 9 } |  | 
| 10 |  | 
| 11 function test(f) { |  | 
| 12   var cdesc = Object.getOwnPropertyDescriptor(f, "caller"); |  | 
| 13   var adesc = Object.getOwnPropertyDescriptor(f, "arguments"); |  | 
| 14 |  | 
| 15   assertFalse(cdesc.enumerable); |  | 
| 16   assertFalse(cdesc.configurable); |  | 
| 17 |  | 
| 18   assertFalse(adesc.enumerable); |  | 
| 19   assertFalse(adesc.configurable); |  | 
| 20 |  | 
| 21   assertSame(cdesc.get, cdesc.set); |  | 
| 22   assertSame(cdesc.get, adesc.get); |  | 
| 23   assertSame(cdesc.get, adesc.set); |  | 
| 24 |  | 
| 25   assertTrue(cdesc.get instanceof Function); |  | 
| 26   assertEquals(0, cdesc.get.length); |  | 
| 27   assertThrows(cdesc.get, TypeError); |  | 
| 28 |  | 
| 29   assertThrows(function() { return f.caller; }, TypeError); |  | 
| 30   assertThrows(function() { f.caller = 42; }, TypeError); |  | 
| 31   assertThrows(function() { return f.arguments; }, TypeError); |  | 
| 32   assertThrows(function() { f.arguments = 42; }, TypeError); |  | 
| 33 } |  | 
| 34 |  | 
| 35 function *sloppy() { test(sloppy); } |  | 
| 36 function *strict() { "use strict"; test(strict); } |  | 
| 37 |  | 
| 38 test(sloppy); |  | 
| 39 test(strict); |  | 
| 40 |  | 
| 41 assertIteratorResult(undefined, true, sloppy().next()); |  | 
| 42 assertIteratorResult(undefined, true, strict().next()); |  | 
| OLD | NEW | 
|---|