Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Flags: --harmony-new-target --harmony-reflect --harmony-destructuring | 5 // Flags: --harmony-new-target --harmony-reflect --harmony-destructuring |
| 6 // Flags: --harmony-rest-parameters --harmony-arrow-functions | 6 // Flags: --harmony-rest-parameters --harmony-arrow-functions |
| 7 | 7 |
| 8 | 8 |
| 9 (function TestClass() { | 9 (function TestClass() { |
| 10 'use strict'; | 10 'use strict'; |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 377 assertSame(f2, new f2); | 377 assertSame(f2, new f2); |
| 378 function f3({a}) { return new.target } | 378 function f3({a}) { return new.target } |
| 379 assertSame(f3, new f3({})); | 379 assertSame(f3, new f3({})); |
| 380 function f4(...a) { return new.target } | 380 function f4(...a) { return new.target } |
| 381 assertSame(f4, new f4); | 381 assertSame(f4, new f4); |
| 382 function f5() { 'use strict'; { let x; return new.target } } | 382 function f5() { 'use strict'; { let x; return new.target } } |
| 383 assertSame(f5, new f5); | 383 assertSame(f5, new f5); |
| 384 function f6() { with ({'new.target': 42}) return new.target } | 384 function f6() { with ({'new.target': 42}) return new.target } |
| 385 assertSame(f6, new f6); | 385 assertSame(f6, new f6); |
| 386 })(); | 386 })(); |
| 387 | |
| 388 | |
| 389 (function TestEarlyErrors() { | |
| 390 assertThrows(function() { Function("new.target = 42"); }, ReferenceError); | |
|
rossberg
2015/08/13 11:13:54
Could add a case for at least one compound assignm
adamk
2015/08/13 17:05:44
Done. Added a few more tests here.
| |
| 391 assertThrows(function() { Function("new.target--"); }, ReferenceError); | |
| 392 assertThrows(function() { Function("--new.target"); }, ReferenceError); | |
| 393 assertThrows(function() { Function("for (new.target of {});"); }, ReferenceErr or); | |
| 394 })(); | |
| OLD | NEW |