Chromium Code Reviews| Index: test/mjsunit/harmony/rest-params.js |
| diff --git a/test/mjsunit/harmony/rest-params.js b/test/mjsunit/harmony/rest-params.js |
| index fe7ee2adb81186076d1a32bee92642d1a2cdc430..66c89478f8f32d247bc62c1cc4c237a8a394c81d 100644 |
| --- a/test/mjsunit/harmony/rest-params.js |
| +++ b/test/mjsunit/harmony/rest-params.js |
| @@ -16,18 +16,20 @@ |
| return args.length; })(1,2,3,4,5)); |
| })(); |
| -function strictTest(a, b, ...c) { |
| +var strictTest = (function() { |
| "use strict"; |
| - assertEquals(Array, c.constructor); |
| - assertTrue(Array.isArray(c)); |
| + return function strictTest(a, b, ...c) { |
| + assertEquals(Array, c.constructor); |
| + assertTrue(Array.isArray(c)); |
| - var expectedLength = arguments.length >= 3 ? arguments.length - 2 : 0; |
| - assertEquals(expectedLength, c.length); |
| + var expectedLength = arguments.length >= 3 ? arguments.length - 2 : 0; |
| + assertEquals(expectedLength, c.length); |
| - for (var i = 2, j = 0; i < arguments.length; ++i) { |
| - assertEquals(c[j++], arguments[i]); |
| - } |
| -} |
| + for (var i = 2, j = 0; i < arguments.length; ++i) { |
| + assertEquals(c[j++], arguments[i]); |
| + } |
| + }; |
| +})(); |
| function sloppyTest(a, b, ...c) { |
| assertEquals(Array, c.constructor); |
| @@ -144,8 +146,8 @@ var O = { |
| (function testNoAliasArgumentsStrict() { |
| + "use strict"; |
|
rossberg
2015/08/24 13:11:08
This changes the test. Make sure that the caller r
conradw
2015/08/25 11:31:21
Done.
|
| function strictF(a, ...rest) { |
| - "use strict"; |
| arguments[0] = 1; |
| assertEquals(3, a); |
| arguments[1] = 2; |
| @@ -212,3 +214,21 @@ var O = { |
| assertEquals([1, 2, 3], c.child); |
| assertEquals([1, 2, 3], c.base); |
| })(); |
| + |
| +(function TestDirectiveThrows() { |
| + "use strict"; |
| + |
| + assertThrows( |
| + function(){ eval("function(...rest){'use strict';}") }, SyntaxError); |
| + assertThrows(function(){ eval("(...rest) => {'use strict';}") }, SyntaxError); |
| + assertThrows( |
| + function(){ eval("(class{foo(...rest) {'use strict';}});") }, SyntaxError); |
| + |
| + assertThrows( |
| + function(){ eval("function(a, ...rest){'use strict';}") }, SyntaxError); |
| + assertThrows( |
| + function(){ eval("(a, ...rest) => {'use strict';}") }, SyntaxError); |
| + assertThrows( |
| + function(){ eval("(class{foo(a, ...rest) {'use strict';}});") }, |
| + SyntaxError); |
| +})(); |