Skip to content

Commit 39dbad8

Browse files
committed
Test cases for breakpoint in destructuring of For Initializers
1 parent 4e702e5 commit 39dbad8

8 files changed

Lines changed: 4010 additions & 0 deletions

tests/baselines/reference/bpSpanDestructuringForArrayBindingPattern.baseline

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

tests/baselines/reference/bpSpanDestructuringForArrayBindingPatternDefaultValues.baseline

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

tests/baselines/reference/bpSpanDestructuringForObjectBindingPattern.baseline

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

tests/baselines/reference/bpSpanDestructuringForObjectBindingPatternDefaultValues.baseline

Lines changed: 857 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
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+
////
8+
////let robotA: Robot = [1, "mower", "mowing"];
9+
////function getRobot() {
10+
//// return robotA;
11+
////}
12+
////
13+
////let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
14+
////let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
15+
////function getMultiRobot() {
16+
//// return multiRobotA;
17+
////}
18+
////
19+
////for (let [, nameA] = robotA, i = 0; i < 1; i++) {
20+
//// console.log(nameA);
21+
////}
22+
////for (let [, nameA] = getRobot(), i = 0; i < 1; i++) {
23+
//// console.log(nameA);
24+
////}
25+
////for (let [, nameA] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
26+
//// console.log(nameA);
27+
////}
28+
////for (let [, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) {
29+
//// console.log(primarySkillA);
30+
////}
31+
////for (let [, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) {
32+
//// console.log(primarySkillA);
33+
////}
34+
////for (let [, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
35+
//// console.log(primarySkillA);
36+
////}
37+
////
38+
////for (let [numberB] = robotA, i = 0; i < 1; i++) {
39+
//// console.log(numberB);
40+
////}
41+
////for (let [numberB] = getRobot(), i = 0; i < 1; i++) {
42+
//// console.log(numberB);
43+
////}
44+
////for (let [numberB] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
45+
//// console.log(numberB);
46+
////}
47+
////for (let [nameB] = multiRobotA, i = 0; i < 1; i++) {
48+
//// console.log(nameB);
49+
////}
50+
////for (let [nameB] = getMultiRobot(), i = 0; i < 1; i++) {
51+
//// console.log(nameB);
52+
////}
53+
////for (let [nameB] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
54+
//// console.log(nameB);
55+
////}
56+
////
57+
////for (let [numberA2, nameA2, skillA2] = robotA, i = 0; i < 1; i++) {
58+
//// console.log(nameA2);
59+
////}
60+
////for (let [numberA2, nameA2, skillA2] = getRobot(), i = 0; i < 1; i++) {
61+
//// console.log(nameA2);
62+
////}
63+
////for (let [numberA2, nameA2, skillA2] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
64+
//// console.log(nameA2);
65+
////}
66+
////for (let [nameMA, [primarySkillA, secondarySkillA]] = multiRobotA, i = 0; i < 1; i++) {
67+
//// console.log(nameMA);
68+
////}
69+
////for (let [nameMA, [primarySkillA, secondarySkillA]] = getMultiRobot(), i = 0; i < 1; i++) {
70+
//// console.log(nameMA);
71+
////}
72+
////for (let [nameMA, [primarySkillA, secondarySkillA]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
73+
//// console.log(nameMA);
74+
////}
75+
////
76+
////for (let [numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) {
77+
//// console.log(numberA3);
78+
////}
79+
////for (let [numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) {
80+
//// console.log(numberA3);
81+
////}
82+
////for (let [numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
83+
//// console.log(numberA3);
84+
////}
85+
////for (let [...multiRobotAInfo] = multiRobotA, i = 0; i < 1; i++) {
86+
//// console.log(multiRobotAInfo);
87+
////}
88+
////for (let [...multiRobotAInfo] = getMultiRobot(), i = 0; i < 1; i++) {
89+
//// console.log(multiRobotAInfo);
90+
////}
91+
////for (let [...multiRobotAInfo] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
92+
//// console.log(multiRobotAInfo);
93+
////}
94+
95+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
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[]];
7+
////let robotA: Robot = [1, "mower", "mowing"];
8+
////function getRobot() {
9+
//// return robotA;
10+
////}
11+
////let multiRobotA: MultiSkilledRobot = ["mower", ["mowing", ""]];
12+
////let multiRobotB: MultiSkilledRobot = ["trimmer", ["trimming", "edging"]];
13+
////function getMultiRobot() {
14+
//// return multiRobotA;
15+
////}
16+
////for (let [, nameA ="name"] = robotA, i = 0; i < 1; i++) {
17+
//// console.log(nameA);
18+
////}
19+
////for (let [, nameA = "name"] = getRobot(), i = 0; i < 1; i++) {
20+
//// console.log(nameA);
21+
////}
22+
////for (let [, nameA = "name"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
23+
//// console.log(nameA);
24+
////}
25+
////for (let [, [
26+
//// primarySkillA = "primary",
27+
//// secondarySkillA = "secondary"
28+
////] = ["none", "none"]] = multiRobotA, i = 0; i < 1; i++) {
29+
//// console.log(primarySkillA);
30+
////}
31+
////for (let [, [
32+
//// primarySkillA = "primary",
33+
//// secondarySkillA = "secondary"
34+
////] = ["none", "none"]] = getMultiRobot(), i = 0; i < 1; i++) {
35+
//// console.log(primarySkillA);
36+
////}
37+
////for (let [, [
38+
//// primarySkillA = "primary",
39+
//// secondarySkillA = "secondary"
40+
////] = ["none", "none"]] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
41+
//// console.log(primarySkillA);
42+
////}
43+
////for (let [numberB = -1] = robotA, i = 0; i < 1; i++) {
44+
//// console.log(numberB);
45+
////}
46+
////for (let [numberB = -1] = getRobot(), i = 0; i < 1; i++) {
47+
//// console.log(numberB);
48+
////}
49+
////for (let [numberB = -1] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
50+
//// console.log(numberB);
51+
////}
52+
////for (let [nameB = "name"] = multiRobotA, i = 0; i < 1; i++) {
53+
//// console.log(nameB);
54+
////}
55+
////for (let [nameB = "name"] = getMultiRobot(), i = 0; i < 1; i++) {
56+
//// console.log(nameB);
57+
////}
58+
////for (let [nameB = "name"] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
59+
//// console.log(nameB);
60+
////}
61+
////for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = robotA, i = 0; i < 1; i++) {
62+
//// console.log(nameA2);
63+
////}
64+
////for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = getRobot(), i = 0; i < 1; i++) {
65+
//// console.log(nameA2);
66+
////}
67+
////for (let [numberA2 = -1, nameA2 = "name", skillA2 = "skill"] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
68+
//// console.log(nameA2);
69+
////}
70+
////for (let
71+
//// [nameMA = "noName",
72+
//// [
73+
//// primarySkillA = "primary",
74+
//// secondarySkillA = "secondary"
75+
//// ] = ["none", "none"]
76+
//// ] = multiRobotA, i = 0; i < 1; i++) {
77+
//// console.log(nameMA);
78+
////}
79+
////for (let [nameMA = "noName",
80+
//// [
81+
//// primarySkillA = "primary",
82+
//// secondarySkillA = "secondary"
83+
//// ] = ["none", "none"]
84+
////] = getMultiRobot(), i = 0; i < 1; i++) {
85+
//// console.log(nameMA);
86+
////}
87+
////for (let [nameMA = "noName",
88+
//// [
89+
//// primarySkillA = "primary",
90+
//// secondarySkillA = "secondary"
91+
//// ] = ["none", "none"]
92+
////] = ["trimmer", ["trimming", "edging"]], i = 0; i < 1; i++) {
93+
//// console.log(nameMA);
94+
////}
95+
////for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) {
96+
//// console.log(numberA3);
97+
////}
98+
////for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) {
99+
//// console.log(numberA3);
100+
////}
101+
////for (let [numberA3 = -1, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) {
102+
//// console.log(numberA3);
103+
////}
104+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
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 robot: Robot = { name: "mower", skill: "mowing" };
17+
////let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
18+
////function getRobot() {
19+
//// return robot;
20+
////}
21+
////function getMultiRobot() {
22+
//// return multiRobot;
23+
////}
24+
////for (let {name: nameA } = robot, i = 0; i < 1; i++) {
25+
//// console.log(nameA);
26+
////}
27+
////for (let {name: nameA } = getRobot(), i = 0; i < 1; i++) {
28+
//// console.log(nameA);
29+
////}
30+
////for (let {name: nameA } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
31+
//// console.log(nameA);
32+
////}
33+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
34+
//// console.log(primaryA);
35+
////}
36+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
37+
//// console.log(primaryA);
38+
////}
39+
////for (let { skills: { primary: primaryA, secondary: secondaryA } } =
40+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
41+
//// i = 0; i < 1; i++) {
42+
//// console.log(primaryA);
43+
////}
44+
////for (let {name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) {
45+
//// console.log(nameA);
46+
////}
47+
////for (let {name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) {
48+
//// console.log(nameA);
49+
////}
50+
////for (let {name: nameA, skill: skillA } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
51+
//// console.log(nameA);
52+
////}
53+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
54+
//// console.log(primaryA);
55+
////}
56+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
57+
//// console.log(primaryA);
58+
////}
59+
////for (let {name: nameA, skills: { primary: primaryA, secondary: secondaryA } } =
60+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
61+
//// i = 0; i < 1; i++) {
62+
//// console.log(primaryA);
63+
////}
64+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
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 robot: Robot = { name: "mower", skill: "mowing" };
17+
////let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
18+
////function getRobot() {
19+
//// return robot;
20+
////}
21+
////function getMultiRobot() {
22+
//// return multiRobot;
23+
////}
24+
////for (let {name: nameA= "noName" } = robot, i = 0; i < 1; i++) {
25+
//// console.log(nameA);
26+
////}
27+
////for (let {name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) {
28+
//// console.log(nameA);
29+
////}
30+
////for (let {name: nameA = "noName" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
31+
//// console.log(nameA);
32+
////}
33+
////for (let {
34+
//// skills: {
35+
//// primary: primaryA = "primary",
36+
//// secondary: secondaryA = "secondary"
37+
//// } = { primary: "none", secondary: "none" }
38+
////} = multiRobot, i = 0; i < 1; i++) {
39+
//// console.log(primaryA);
40+
////}
41+
////for (let {
42+
//// skills: {
43+
//// primary: primaryA = "primary",
44+
//// secondary: secondaryA = "secondary"
45+
//// } = { primary: "none", secondary: "none" }
46+
////} = getMultiRobot(), i = 0; i < 1; i++) {
47+
//// console.log(primaryA);
48+
////}
49+
////for (let {
50+
//// skills: {
51+
//// primary: primaryA = "primary",
52+
//// secondary: secondaryA = "secondary"
53+
//// } = { primary: "none", secondary: "none" }
54+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
55+
//// i = 0; i < 1; i++) {
56+
//// console.log(primaryA);
57+
////}
58+
////for (let {name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i++) {
59+
//// console.log(nameA);
60+
////}
61+
////for (let {name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < 1; i++) {
62+
//// console.log(nameA);
63+
////}
64+
////for (let {name: nameA = "noName", skill: skillA = "skill" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
65+
//// console.log(nameA);
66+
////}
67+
////for (let {
68+
//// name: nameA = "noName",
69+
//// skills: {
70+
//// primary: primaryA = "primary",
71+
//// secondary: secondaryA = "secondary"
72+
//// } = { primary: "none", secondary: "none" }
73+
////} = multiRobot, i = 0; i < 1; i++) {
74+
//// console.log(primaryA);
75+
////}
76+
////for (let {
77+
//// name: nameA = "noName",
78+
//// skills: {
79+
//// primary: primaryA = "primary",
80+
//// secondary: secondaryA = "secondary"
81+
//// } = { primary: "none", secondary: "none" }
82+
////} = getMultiRobot(), i = 0; i < 1; i++) {
83+
//// console.log(primaryA);
84+
////}
85+
////for (let {
86+
//// name: nameA = "noName",
87+
//// skills: {
88+
//// primary: primaryA = "primary",
89+
//// secondary: secondaryA = "secondary"
90+
//// } = { primary: "none", secondary: "none" }
91+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
92+
//// i = 0; i < 1; i++) {
93+
//// console.log(primaryA);
94+
////}
95+
96+
verify.baselineCurrentFileBreakpointLocations();

0 commit comments

Comments
 (0)