Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(207)

Side by Side Diff: third_party/WebKit/LayoutTests/fast/js/mozilla/strict/script-tests/13.1.js

Issue 2318933007: Fix layout test for redeclaration of arguments. (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/js/mozilla/strict/13.1-expected.txt ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 2
3 /* 3 /*
4 * Any copyright is dedicated to the Public Domain. 4 * Any copyright is dedicated to the Public Domain.
5 * http://creativecommons.org/licenses/publicdomain/ 5 * http://creativecommons.org/licenses/publicdomain/
6 */ 6 */
7 7
8 /* 8 /*
9 * In strict mode, it is a syntax error for an identifier to appear 9 * In strict mode, it is a syntax error for an identifier to appear
10 * more than once in a function's argument list. 10 * more than once in a function's argument list.
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 true); 222 true);
223 // Non-simple arguments and "use strict" directive is an error. 223 // Non-simple arguments and "use strict" directive is an error.
224 assertEq(testLenientAndStrict('({set x({x:eval}){"use strict";}})', 224 assertEq(testLenientAndStrict('({set x({x:eval}){"use strict";}})',
225 parseRaisesException(SyntaxError), 225 parseRaisesException(SyntaxError),
226 parseRaisesException(SyntaxError)), 226 parseRaisesException(SyntaxError)),
227 true); 227 true);
228 assertEq(testLenientAndStrict('function f(arguments){}', 228 assertEq(testLenientAndStrict('function f(arguments){}',
229 parsesSuccessfully, 229 parsesSuccessfully,
230 parseRaisesException(SyntaxError)), 230 parseRaisesException(SyntaxError)),
231 true); 231 true);
232 // BUG(v8:4577): In sloppy mode, we currently throw when destructuring
233 // parameters include 'arguments', even if a direct argument named
234 // 'arguments' is accepted, once the --harmony-sloppy flag is shipped.
235 assertEq(testLenientAndStrict('function f([arguments]){}', 232 assertEq(testLenientAndStrict('function f([arguments]){}',
236 parseRaisesException(SyntaxError), 233 parsesSuccessfully,
237 parseRaisesException(SyntaxError)), 234 parseRaisesException(SyntaxError)),
238 true); 235 true);
239 assertEq(testLenientAndStrict('function f({x:arguments}){}', 236 assertEq(testLenientAndStrict('function f({x:arguments}){}',
240 parseRaisesException(SyntaxError), 237 parsesSuccessfully,
241 parseRaisesException(SyntaxError)), 238 parseRaisesException(SyntaxError)),
242 true); 239 true);
243 assertEq(testLenientAndStrict('function arguments(){}', 240 assertEq(testLenientAndStrict('function arguments(){}',
244 parsesSuccessfully, 241 parsesSuccessfully,
245 parseRaisesException(SyntaxError)), 242 parseRaisesException(SyntaxError)),
246 true); 243 true);
247 assertEq(testLenientAndStrict('function f(arguments){"use strict";}', 244 assertEq(testLenientAndStrict('function f(arguments){"use strict";}',
248 parseRaisesException(SyntaxError), 245 parseRaisesException(SyntaxError),
249 parseRaisesException(SyntaxError)), 246 parseRaisesException(SyntaxError)),
250 true); 247 true);
251 // Non-simple arguments and "use strict" directive is an error. 248 // Non-simple arguments and "use strict" directive is an error.
252 assertEq(testLenientAndStrict('function f([arguments]){"use strict";}', 249 assertEq(testLenientAndStrict('function f([arguments]){"use strict";}',
253 parseRaisesException(SyntaxError), 250 parseRaisesException(SyntaxError),
254 parseRaisesException(SyntaxError)), 251 parseRaisesException(SyntaxError)),
255 true); 252 true);
256 // Non-simple arguments and "use strict" directive is an error. 253 // Non-simple arguments and "use strict" directive is an error.
257 assertEq(testLenientAndStrict('function f({x:arguments}){"use strict";}', 254 assertEq(testLenientAndStrict('function f({x:arguments}){"use strict";}',
258 parseRaisesException(SyntaxError), 255 parseRaisesException(SyntaxError),
259 parseRaisesException(SyntaxError)), 256 parseRaisesException(SyntaxError)),
260 true); 257 true);
261 assertEq(testLenientAndStrict('function arguments(){"use strict";}', 258 assertEq(testLenientAndStrict('function arguments(){"use strict";}',
262 parseRaisesException(SyntaxError), 259 parseRaisesException(SyntaxError),
263 parseRaisesException(SyntaxError)), 260 parseRaisesException(SyntaxError)),
264 true); 261 true);
265 assertEq(testLenientAndStrict('(function f(arguments){})', 262 assertEq(testLenientAndStrict('(function f(arguments){})',
266 parsesSuccessfully, 263 parsesSuccessfully,
267 parseRaisesException(SyntaxError)), 264 parseRaisesException(SyntaxError)),
268 true); 265 true);
269 assertEq(testLenientAndStrict('(function f([arguments]){})', 266 assertEq(testLenientAndStrict('(function f([arguments]){})',
270 parseRaisesException(SyntaxError), 267 parsesSuccessfully,
271 parseRaisesException(SyntaxError)), 268 parseRaisesException(SyntaxError)),
272 true); 269 true);
273 assertEq(testLenientAndStrict('(function f({x:arguments}){})', 270 assertEq(testLenientAndStrict('(function f({x:arguments}){})',
274 parseRaisesException(SyntaxError), 271 parsesSuccessfully,
275 parseRaisesException(SyntaxError)), 272 parseRaisesException(SyntaxError)),
276 true); 273 true);
277 assertEq(testLenientAndStrict('(function arguments(){})', 274 assertEq(testLenientAndStrict('(function arguments(){})',
278 parsesSuccessfully, 275 parsesSuccessfully,
279 parseRaisesException(SyntaxError)), 276 parseRaisesException(SyntaxError)),
280 true); 277 true);
281 assertEq(testLenientAndStrict('(function f(arguments){"use strict";})', 278 assertEq(testLenientAndStrict('(function f(arguments){"use strict";})',
282 parseRaisesException(SyntaxError), 279 parseRaisesException(SyntaxError),
283 parseRaisesException(SyntaxError)), 280 parseRaisesException(SyntaxError)),
284 true); 281 true);
(...skipping 29 matching lines...) Expand all
314 // This is not valid ES5 syntax. 311 // This is not valid ES5 syntax.
315 assertEq(testLenientAndStrict('(function arguments() 2)', 312 assertEq(testLenientAndStrict('(function arguments() 2)',
316 parseRaisesException(SyntaxError), 313 parseRaisesException(SyntaxError),
317 parseRaisesException(SyntaxError)), 314 parseRaisesException(SyntaxError)),
318 true); 315 true);
319 assertEq(testLenientAndStrict('({set x(arguments){}})', 316 assertEq(testLenientAndStrict('({set x(arguments){}})',
320 parsesSuccessfully, 317 parsesSuccessfully,
321 parseRaisesException(SyntaxError)), 318 parseRaisesException(SyntaxError)),
322 true); 319 true);
323 assertEq(testLenientAndStrict('({set x([arguments]){}})', 320 assertEq(testLenientAndStrict('({set x([arguments]){}})',
324 parseRaisesException(SyntaxError), 321 parsesSuccessfully,
325 parseRaisesException(SyntaxError)), 322 parseRaisesException(SyntaxError)),
326 true); 323 true);
327 assertEq(testLenientAndStrict('({set x({x:arguments}){}})', 324 assertEq(testLenientAndStrict('({set x({x:arguments}){}})',
328 parseRaisesException(SyntaxError), 325 parsesSuccessfully,
329 parseRaisesException(SyntaxError)), 326 parseRaisesException(SyntaxError)),
330 true); 327 true);
331 assertEq(testLenientAndStrict('({set x(arguments){"use strict";}})', 328 assertEq(testLenientAndStrict('({set x(arguments){"use strict";}})',
332 parseRaisesException(SyntaxError), 329 parseRaisesException(SyntaxError),
333 parseRaisesException(SyntaxError)), 330 parseRaisesException(SyntaxError)),
334 true); 331 true);
335 // Non-simple arguments and "use strict" directive is an error. 332 // Non-simple arguments and "use strict" directive is an error.
336 assertEq(testLenientAndStrict('({set x([arguments]){"use strict";}})', 333 assertEq(testLenientAndStrict('({set x([arguments]){"use strict";}})',
337 parseRaisesException(SyntaxError), 334 parseRaisesException(SyntaxError),
338 parseRaisesException(SyntaxError)), 335 parseRaisesException(SyntaxError)),
(...skipping 24 matching lines...) Expand all
363 true); 360 true);
364 assertEq(testLenientAndStrict('Function("arguments","\'use strict\';")', 361 assertEq(testLenientAndStrict('Function("arguments","\'use strict\';")',
365 raisesException(SyntaxError), 362 raisesException(SyntaxError),
366 raisesException(SyntaxError)), 363 raisesException(SyntaxError)),
367 true); 364 true);
368 365
369 366
370 reportCompare(true, true); 367 reportCompare(true, true);
371 368
372 var successfullyParsed = true; 369 var successfullyParsed = true;
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/js/mozilla/strict/13.1-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698