Skip to content

Commit c5407a3

Browse files
committed
Test cases for destructuring in For Of statement
1 parent 39dbad8 commit c5407a3

8 files changed

Lines changed: 3868 additions & 0 deletions

tests/baselines/reference/bpSpanDestructuringForOfArrayBindingPattern.baseline

Lines changed: 978 additions & 0 deletions
Large diffs are not rendered by default.

tests/baselines/reference/bpSpanDestructuringForOfArrayBindingPatternDefaultValues.baseline

Lines changed: 1061 additions & 0 deletions
Large diffs are not rendered by default.

tests/baselines/reference/bpSpanDestructuringForOfObjectBindingPattern.baseline

Lines changed: 635 additions & 0 deletions
Large diffs are not rendered by default.

tests/baselines/reference/bpSpanDestructuringForOfObjectBindingPatternDefaultValues.baseline

Lines changed: 855 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
/// <reference path='fourslash.ts' />
2+
////declare var console: {
3+
//// log(msg: any): void;
4+
////}
5+
////type Robot = [number, string, string];
6+
////type MultiSkilledRobot = [string, [string, string]];
7+
////let robotA: Robot = [1, "mower", "mowing"];
8+
////let robotB: Robot = [2, "trimmer", "trimming"];
9+
////let robots = [robotA, robotB];
10+
////function getRobots() {
11+
//// return robots;
12+
////}
13+
////let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
14+
////let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
15+
////let multiRobots = [multiRobotA, multiRobotB];
16+
////function getMultiRobots() {
17+
//// return multiRobots;
18+
////}
19+
////for (let [, nameA] of robots) {
20+
//// console.log(nameA);
21+
////}
22+
////for (let [, nameA] of getRobots()) {
23+
//// console.log(nameA);
24+
////}
25+
////for (let [, nameA] of [robotA, robotB]) {
26+
//// console.log(nameA);
27+
////}
28+
////for (let [, [primarySkillA, secondarySkillA]] of multiRobots) {
29+
//// console.log(primarySkillA);
30+
////}
31+
////for (let [, [primarySkillA, secondarySkillA]] of getMultiRobots()) {
32+
//// console.log(primarySkillA);
33+
////}
34+
////for (let [, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) {
35+
//// console.log(primarySkillA);
36+
////}
37+
////for (let [numberB] of robots) {
38+
//// console.log(numberB);
39+
////}
40+
////for (let [numberB] of getRobots()) {
41+
//// console.log(numberB);
42+
////}
43+
////for (let [numberB] of [robotA, robotB]) {
44+
//// console.log(numberB);
45+
////}
46+
////for (let [nameB] of multiRobots) {
47+
//// console.log(nameB);
48+
////}
49+
////for (let [nameB] of getMultiRobots()) {
50+
//// console.log(nameB);
51+
////}
52+
////for (let [nameB] of [multiRobotA, multiRobotB]) {
53+
//// console.log(nameB);
54+
////}
55+
////for (let [numberA2, nameA2, skillA2] of robots) {
56+
//// console.log(nameA2);
57+
////}
58+
////for (let [numberA2, nameA2, skillA2] of getRobots()) {
59+
//// console.log(nameA2);
60+
////}
61+
////for (let [numberA2, nameA2, skillA2] of [robotA, robotB]) {
62+
//// console.log(nameA2);
63+
////}
64+
////for (let [nameMA, [primarySkillA, secondarySkillA]] of multiRobots) {
65+
//// console.log(nameMA);
66+
////}
67+
////for (let [nameMA, [primarySkillA, secondarySkillA]] of getMultiRobots()) {
68+
//// console.log(nameMA);
69+
////}
70+
////for (let [nameMA, [primarySkillA, secondarySkillA]] of [multiRobotA, multiRobotB]) {
71+
//// console.log(nameMA);
72+
////}
73+
////for (let [numberA3, ...robotAInfo] of robots) {
74+
//// console.log(numberA3);
75+
////}
76+
////for (let [numberA3, ...robotAInfo] of getRobots()) {
77+
//// console.log(numberA3);
78+
////}
79+
////for (let [numberA3, ...robotAInfo] of [robotA, robotB]) {
80+
//// console.log(numberA3);
81+
////}
82+
////for (let [...multiRobotAInfo] of multiRobots) {
83+
//// console.log(multiRobotAInfo);
84+
////}
85+
////for (let [...multiRobotAInfo] of getMultiRobots()) {
86+
//// console.log(multiRobotAInfo);
87+
////}
88+
////for (let [...multiRobotAInfo] of [multiRobotA, multiRobotB]) {
89+
//// console.log(multiRobotAInfo);
90+
////}
91+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
/// <reference path='fourslash.ts' />
2+
////declare var console: {
3+
//// log(msg: any): void;
4+
////}
5+
////type Robot = [number, string, string];
6+
////type MultiSkilledRobot = [string, [string, string]];
7+
////let robotA: Robot = [1, "mower", "mowing"];
8+
////let robotB: Robot = [2, "trimmer", "trimming"];
9+
////let robots = [robotA, robotB];
10+
////function getRobots() {
11+
//// return robots;
12+
////}
13+
////let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
14+
////let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
15+
////let multiRobots = [multiRobotA, multiRobotB];
16+
////function getMultiRobots() {
17+
//// return multiRobots;
18+
////}
19+
////for (let [, nameA = "noName"] of robots) {
20+
//// console.log(nameA);
21+
////}
22+
////for (let [, nameA = "noName"] of getRobots()) {
23+
//// console.log(nameA);
24+
////}
25+
////for (let [, nameA = "noName"] of [robotA, robotB]) {
26+
//// console.log(nameA);
27+
////}
28+
////for (let [, [
29+
//// primarySkillA = "primary",
30+
//// secondarySkillA = "secondary"
31+
////] = ["skill1", "skill2"]] of multiRobots) {
32+
//// console.log(primarySkillA);
33+
////}
34+
////for (let [, [
35+
//// primarySkillA = "primary",
36+
//// secondarySkillA = "secondary"
37+
////] = ["skill1", "skill2"]] of getMultiRobots()) {
38+
//// console.log(primarySkillA);
39+
////}
40+
////for (let [, [
41+
//// primarySkillA = "primary",
42+
//// secondarySkillA = "secondary"
43+
////] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) {
44+
//// console.log(primarySkillA);
45+
////}
46+
////for (let [numberB = -1] of robots) {
47+
//// console.log(numberB);
48+
////}
49+
////for (let [numberB = -1] of getRobots()) {
50+
//// console.log(numberB);
51+
////}
52+
////for (let [numberB = -1] of [robotA, robotB]) {
53+
//// console.log(numberB);
54+
////}
55+
////for (let [nameB = "noName"] of multiRobots) {
56+
//// console.log(nameB);
57+
////}
58+
////for (let [nameB = "noName"] of getMultiRobots()) {
59+
//// console.log(nameB);
60+
////}
61+
////for (let [nameB = "noName"] of [multiRobotA, multiRobotB]) {
62+
//// console.log(nameB);
63+
////}
64+
////for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of robots) {
65+
//// console.log(nameA2);
66+
////}
67+
////for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of getRobots()) {
68+
//// console.log(nameA2);
69+
////}
70+
////for (let [numberA2 = -1, nameA2 = "noName", skillA2 = "skill"] of [robotA, robotB]) {
71+
//// console.log(nameA2);
72+
////}
73+
////for (let [nameMA = "noName", [
74+
//// primarySkillA = "primary",
75+
//// secondarySkillA = "secondary"
76+
////] = ["skill1", "skill2"]] of multiRobots) {
77+
//// console.log(nameMA);
78+
////}
79+
////for (let [nameMA = "noName", [
80+
//// primarySkillA = "primary",
81+
//// secondarySkillA = "secondary"
82+
////] = ["skill1", "skill2"]] of getMultiRobots()) {
83+
//// console.log(nameMA);
84+
////}
85+
////for (let [nameMA = "noName", [
86+
//// primarySkillA = "primary",
87+
//// secondarySkillA = "secondary"
88+
////] = ["skill1", "skill2"]] of [multiRobotA, multiRobotB]) {
89+
//// console.log(nameMA);
90+
////}
91+
////for (let [numberA3 = -1, ...robotAInfo] of robots) {
92+
//// console.log(numberA3);
93+
////}
94+
////for (let [numberA3 = -1, ...robotAInfo] of getRobots()) {
95+
//// console.log(numberA3);
96+
////}
97+
////for (let [numberA3 = -1, ...robotAInfo] of [robotA, robotB]) {
98+
//// console.log(numberA3);
99+
////}
100+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
/// <reference path='fourslash.ts' />
2+
////declare var console: {
3+
//// log(msg: any): void;
4+
////}
5+
////interface Robot {
6+
//// name: string;
7+
//// skill: string;
8+
////}
9+
////interface MultiRobot {
10+
//// name: string;
11+
//// skills: {
12+
//// primary: string;
13+
//// secondary: string;
14+
//// };
15+
////}
16+
////let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }];
17+
////let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
18+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }];
19+
////function getRobots() {
20+
//// return robots;
21+
////}
22+
////function getMultiRobots() {
23+
//// return multiRobots;
24+
////}
25+
////for (let {name: nameA } of robots) {
26+
//// console.log(nameA);
27+
////}
28+
////for (let {name: nameA } of getRobots()) {
29+
//// console.log(nameA);
30+
////}
31+
////for (let {name: nameA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) {
32+
//// console.log(nameA);
33+
////}
34+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } of multiRobots) {
35+
//// console.log(primaryA);
36+
////}
37+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } of getMultiRobots()) {
38+
//// console.log(primaryA);
39+
////}
40+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
41+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) {
42+
//// console.log(primaryA);
43+
////}
44+
////for (let {name: nameA, skill: skillA } of robots) {
45+
//// console.log(nameA);
46+
////}
47+
////for (let {name: nameA, skill: skillA } of getRobots()) {
48+
//// console.log(nameA);
49+
////}
50+
////for (let {name: nameA, skill: skillA } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) {
51+
//// console.log(nameA);
52+
////}
53+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of multiRobots) {
54+
//// console.log(nameA);
55+
////}
56+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of getMultiRobots()) {
57+
//// console.log(nameA);
58+
////}
59+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } of [{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
60+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) {
61+
//// console.log(nameA);
62+
////}
63+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/// <reference path='fourslash.ts' />
2+
////declare var console: {
3+
//// log(msg: any): void;
4+
////}
5+
////interface Robot {
6+
//// name: string;
7+
//// skill: string;
8+
////}
9+
////interface MultiRobot {
10+
//// name: string;
11+
//// skills: {
12+
//// primary?: string;
13+
//// secondary?: string;
14+
//// };
15+
////}
16+
////let robots: Robot[] = [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }];
17+
////let multiRobots: MultiRobot[] = [{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
18+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }];
19+
////function getRobots() {
20+
//// return robots;
21+
////}
22+
////function getMultiRobots() {
23+
//// return multiRobots;
24+
////}
25+
////for (let {name: nameA = "noName" } of robots) {
26+
//// console.log(nameA);
27+
////}
28+
////for (let {name: nameA = "noName" } of getRobots()) {
29+
//// console.log(nameA);
30+
////}
31+
////for (let {name: nameA = "noName" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) {
32+
//// console.log(nameA);
33+
////}
34+
////for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } =
35+
//// { primary: "nosKill", secondary: "noSkill" } } of multiRobots) {
36+
//// console.log(primaryA);
37+
////}
38+
////for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } =
39+
//// { primary: "nosKill", secondary: "noSkill" } } of getMultiRobots()) {
40+
//// console.log(primaryA);
41+
////}
42+
////for (let { skills: { primary: primaryA = "primary", secondary: secondaryA = "secondary" } =
43+
//// { primary: "nosKill", secondary: "noSkill" } } of
44+
//// <MultiRobot[]>[{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
45+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) {
46+
//// console.log(primaryA);
47+
////}
48+
////for (let {name: nameA = "noName", skill: skillA = "noSkill" } of robots) {
49+
//// console.log(nameA);
50+
////}
51+
////for (let {name: nameA = "noName", skill: skillA = "noSkill" } of getRobots()) {
52+
//// console.log(nameA);
53+
////}
54+
////for (let {name: nameA = "noName", skill: skillA = "noSkill" } of [{ name: "mower", skill: "mowing" }, { name: "trimmer", skill: "trimming" }]) {
55+
//// console.log(nameA);
56+
////}
57+
////for (let {
58+
//// name: nameA = "noName",
59+
//// skills: {
60+
//// primary: primaryA = "primary",
61+
//// secondary: secondaryA = "secondary"
62+
//// } = { primary: "noSkill", secondary: "noSkill" }
63+
////} of multiRobots) {
64+
//// console.log(nameA);
65+
////}
66+
////for (let {
67+
//// name: nameA = "noName",
68+
//// skills: {
69+
//// primary: primaryA = "primary",
70+
//// secondary: secondaryA = "secondary"
71+
//// } = { primary: "noSkill", secondary: "noSkill" }
72+
////} of getMultiRobots()) {
73+
//// console.log(nameA);
74+
////}
75+
////for (let {
76+
//// name: nameA = "noName",
77+
//// skills: {
78+
//// primary: primaryA = "primary",
79+
//// secondary: secondaryA = "secondary"
80+
//// } = { primary: "noSkill", secondary: "noSkill" }
81+
////} of <MultiRobot[]>[{ name: "mower", skills: { primary: "mowing", secondary: "none" } },
82+
//// { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }]) {
83+
//// console.log(nameA);
84+
////}
85+
verify.baselineCurrentFileBreakpointLocations();

0 commit comments

Comments
 (0)