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

Side by Side Diff: test/mjsunit/harmony/destructuring-assignment.js

Issue 1508933004: [es6] support AssignmentPattern as LHS in for-in/of loops (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix test failures Created 5 years 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 | « test/cctest/test-parsing.cc ('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 // 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-destructuring-assignment --harmony-destructuring-bind 5 // Flags: --harmony-destructuring-assignment --harmony-destructuring-bind
6 6
7 // script-level tests 7 // script-level tests
8 var ox, oy = {}, oz; 8 var ox, oy = {}, oz;
9 ({ 9 ({
10 x: ox, 10 x: ox,
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after
421 "use strict"; 421 "use strict";
422 const c = "untouchable"; 422 const c = "untouchable";
423 assertThrows(() => { [ c ] = [ "nope!" ]; }, TypeError); 423 assertThrows(() => { [ c ] = [ "nope!" ]; }, TypeError);
424 assertThrows(() => { [ [ c ] ] = [ [ "nope!" ] ]; }, TypeError); 424 assertThrows(() => { [ [ c ] ] = [ [ "nope!" ] ]; }, TypeError);
425 assertThrows(() => { [ { c } ] = [ { c: "nope!" } ]; }, TypeError); 425 assertThrows(() => { [ { c } ] = [ { c: "nope!" } ]; }, TypeError);
426 assertThrows(() => { ({ c } = { c: "nope!" }); }, TypeError); 426 assertThrows(() => { ({ c } = { c: "nope!" }); }, TypeError);
427 assertThrows(() => { ({ a: { c } } = { a: { c: "nope!" } }); }, TypeError); 427 assertThrows(() => { ({ a: { c } } = { a: { c: "nope!" } }); }, TypeError);
428 assertThrows(() => { ({ a: [ c ] } = { a: [ "nope!" ] }); }, TypeError); 428 assertThrows(() => { ({ a: [ c ] } = { a: [ "nope!" ] }); }, TypeError);
429 assertEquals("untouchable", c); 429 assertEquals("untouchable", c);
430 })(); 430 })();
431
432 (function testForIn() {
433 var log = [];
434 var x = {};
435 var object = {
436 "Apenguin": 1,
437 "\u{1F382}cake": 2,
438 "Bpuppy": 3,
439 "Cspork": 4
440 };
441 for ([x.firstLetter, ...x.rest] in object) {
442 if (x.firstLetter === "A") {
443 assertEquals(["p", "e", "n", "g", "u", "i", "n"], x.rest);
444 continue;
445 }
446 if (x.firstLetter === "C") {
447 assertEquals(["s", "p", "o", "r", "k"], x.rest);
448 break;
449 }
450 log.push({ firstLetter: x.firstLetter, rest: x.rest });
451 }
452 assertEquals([
453 { firstLetter: "\u{1F382}", rest: ["c", "a", "k", "e"] },
454 { firstLetter: "B", rest: ["p", "u", "p", "p", "y"] },
455 ], log);
456 })();
457
458 (function testForOf() {
459 var log = [];
460 var x = {};
461 var names = [
462 "Apenguin",
463 "\u{1F382}cake",
464 "Bpuppy",
465 "Cspork"
466 ];
467 for ([x.firstLetter, ...x.rest] of names) {
468 if (x.firstLetter === "A") {
469 assertEquals(["p", "e", "n", "g", "u", "i", "n"], x.rest);
470 continue;
471 }
472 if (x.firstLetter === "C") {
473 assertEquals(["s", "p", "o", "r", "k"], x.rest);
474 break;
475 }
476 log.push({ firstLetter: x.firstLetter, rest: x.rest });
477 }
478 assertEquals([
479 { firstLetter: "\u{1F382}", rest: ["c", "a", "k", "e"] },
480 { firstLetter: "B", rest: ["p", "u", "p", "p", "y"] },
481 ], log);
482 })();
OLDNEW
« no previous file with comments | « test/cctest/test-parsing.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698