Skip to content

Commit db0ab40

Browse files
committed
Test cases for object binding pattern destructuring assignment
1 parent 82570b7 commit db0ab40

2 files changed

Lines changed: 275 additions & 0 deletions

File tree

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
/// <reference path='fourslash.ts' />
2+
3+
////declare var console: {
4+
//// log(msg: any): void;
5+
////}
6+
////interface Robot {
7+
//// name: string;
8+
//// skill: string;
9+
////}
10+
////interface MultiRobot {
11+
//// name: string;
12+
//// skills: {
13+
//// primary: string;
14+
//// secondary: string;
15+
//// };
16+
////}
17+
////let robot: Robot = { name: "mower", skill: "mowing" };
18+
////let multiRobot: MultiRobot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
19+
////function getRobot() {
20+
//// return robot;
21+
////}
22+
////function getMultiRobot() {
23+
//// return multiRobot;
24+
////}
25+
////let nameA: string, primaryA: string, secondaryA: string, i: number, skillA: string;
26+
////let name: string, primary: string, secondary: string, skill: string;
27+
////for ({ name: nameA } = robot, i = 0; i < 1; i++) {
28+
//// console.log(nameA);
29+
////}
30+
////for ({ name: nameA } = getRobot(), i = 0; i < 1; i++) {
31+
//// console.log(nameA);
32+
////}
33+
////for ({ name: nameA } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
34+
//// console.log(nameA);
35+
////}
36+
////for ({ skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
37+
//// console.log(primaryA);
38+
////}
39+
////for ({ skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
40+
//// console.log(primaryA);
41+
////}
42+
////for ({ skills: { primary: primaryA, secondary: secondaryA } } =
43+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
44+
//// i = 0; i < 1; i++) {
45+
//// console.log(primaryA);
46+
////}
47+
////for ({ name } = robot, i = 0; i < 1; i++) {
48+
//// console.log(nameA);
49+
////}
50+
////for ({ name } = getRobot(), i = 0; i < 1; i++) {
51+
//// console.log(nameA);
52+
////}
53+
////for ({ name } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
54+
//// console.log(nameA);
55+
////}
56+
////for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) {
57+
//// console.log(primaryA);
58+
////}
59+
////for ({ skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) {
60+
//// console.log(primaryA);
61+
////}
62+
////for ({ skills: { primary, secondary } } =
63+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
64+
//// i = 0; i < 1; i++) {
65+
//// console.log(primaryA);
66+
////}
67+
////for ({ name: nameA, skill: skillA } = robot, i = 0; i < 1; i++) {
68+
//// console.log(nameA);
69+
////}
70+
////for ({ name: nameA, skill: skillA } = getRobot(), i = 0; i < 1; i++) {
71+
//// console.log(nameA);
72+
////}
73+
////for ({ name: nameA, skill: skillA } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
74+
//// console.log(nameA);
75+
////}
76+
////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = multiRobot, i = 0; i < 1; i++) {
77+
//// console.log(primaryA);
78+
////}
79+
////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } = getMultiRobot(), i = 0; i < 1; i++) {
80+
//// console.log(primaryA);
81+
////}
82+
////for ({ name: nameA, skills: { primary: primaryA, secondary: secondaryA } } =
83+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
84+
//// i = 0; i < 1; i++) {
85+
//// console.log(primaryA);
86+
////}
87+
////for ({ name, skill } = robot, i = 0; i < 1; i++) {
88+
//// console.log(nameA);
89+
////}
90+
////for ({ name, skill } = getRobot(), i = 0; i < 1; i++) {
91+
//// console.log(nameA);
92+
////}
93+
////for ({ name, skill } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
94+
//// console.log(nameA);
95+
////}
96+
////for ({ name, skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) {
97+
//// console.log(primaryA);
98+
////}
99+
////for ({ name, skills: { primary, secondary } } = getMultiRobot(), i = 0; i < 1; i++) {
100+
//// console.log(primaryA);
101+
////}
102+
////for ({ name, skills: { primary, secondary } } =
103+
//// <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
104+
//// i = 0; i < 1; i++) {
105+
//// console.log(primaryA);
106+
////}
107+
verify.baselineCurrentFileBreakpointLocations();
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
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+
////let nameA: string, primaryA: string, secondaryA: string, i: number, skillA: string;
25+
////let name: string, primary: string, secondary: string, skill: string;
26+
////for ({name: nameA = "noName" } = robot, i = 0; i < 1; i++) {
27+
//// console.log(nameA);
28+
////}
29+
////for ({name: nameA = "noName" } = getRobot(), i = 0; i < 1; i++) {
30+
//// console.log(nameA);
31+
////}
32+
////for ({name: nameA = "noName" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
33+
//// console.log(nameA);
34+
////}
35+
////for ({
36+
//// skills: {
37+
//// primary: primaryA = "primary",
38+
//// secondary: secondaryA = "secondary"
39+
//// } = { primary: "none", secondary: "none" }
40+
////} = multiRobot, i = 0; i < 1; i++) {
41+
//// console.log(primaryA);
42+
////}
43+
////for ({
44+
//// skills: {
45+
//// primary: primaryA = "primary",
46+
//// secondary: secondaryA = "secondary"
47+
//// } = { primary: "none", secondary: "none" }
48+
////} = getMultiRobot(), i = 0; i < 1; i++) {
49+
//// console.log(primaryA);
50+
////}
51+
////for ({
52+
//// skills: {
53+
//// primary: primaryA = "primary",
54+
//// secondary: secondaryA = "secondary"
55+
//// } = { primary: "none", secondary: "none" }
56+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
57+
//// i = 0; i < 1; i++) {
58+
//// console.log(primaryA);
59+
////}
60+
////for ({ name = "noName" } = robot, i = 0; i < 1; i++) {
61+
//// console.log(nameA);
62+
////}
63+
////for ({ name = "noName" } = getRobot(), i = 0; i < 1; i++) {
64+
//// console.log(nameA);
65+
////}
66+
////for ({ name = "noName" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
67+
//// console.log(nameA);
68+
////}
69+
////for ({
70+
//// skills: {
71+
//// primary = "primary",
72+
//// secondary = "secondary"
73+
//// } = { primary: "none", secondary: "none" }
74+
////} = multiRobot, i = 0; i < 1; i++) {
75+
//// console.log(primaryA);
76+
////}
77+
////for ({
78+
//// skills: {
79+
//// primary = "primary",
80+
//// secondary = "secondary"
81+
//// } = { primary: "none", secondary: "none" }
82+
////} = getMultiRobot(), i = 0; i < 1; i++) {
83+
//// console.log(primaryA);
84+
////}
85+
////for ({
86+
//// skills: {
87+
//// primary = "primary",
88+
//// secondary = "secondary"
89+
//// } = { primary: "none", secondary: "none" }
90+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
91+
//// i = 0; i < 1; i++) {
92+
//// console.log(primaryA);
93+
////}
94+
////for ({name: nameA = "noName", skill: skillA = "skill" } = robot, i = 0; i < 1; i++) {
95+
//// console.log(nameA);
96+
////}
97+
////for ({name: nameA = "noName", skill: skillA = "skill" } = getRobot(), i = 0; i < 1; i++) {
98+
//// console.log(nameA);
99+
////}
100+
////for ({name: nameA = "noName", skill: skillA = "skill" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
101+
//// console.log(nameA);
102+
////}
103+
////for ({
104+
//// name: nameA = "noName",
105+
//// skills: {
106+
//// primary: primaryA = "primary",
107+
//// secondary: secondaryA = "secondary"
108+
//// } = { primary: "none", secondary: "none" }
109+
////} = multiRobot, i = 0; i < 1; i++) {
110+
//// console.log(primaryA);
111+
////}
112+
////for ({
113+
//// name: nameA = "noName",
114+
//// skills: {
115+
//// primary: primaryA = "primary",
116+
//// secondary: secondaryA = "secondary"
117+
//// } = { primary: "none", secondary: "none" }
118+
////} = getMultiRobot(), i = 0; i < 1; i++) {
119+
//// console.log(primaryA);
120+
////}
121+
////for ({
122+
//// name: nameA = "noName",
123+
//// skills: {
124+
//// primary: primaryA = "primary",
125+
//// secondary: secondaryA = "secondary"
126+
//// } = { primary: "none", secondary: "none" }
127+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
128+
//// i = 0; i < 1; i++) {
129+
//// console.log(primaryA);
130+
////}
131+
////for ({ name = "noName", skill = "skill" } = robot, i = 0; i < 1; i++) {
132+
//// console.log(nameA);
133+
////}
134+
////for ({ name = "noName", skill = "skill" } = getRobot(), i = 0; i < 1; i++) {
135+
//// console.log(nameA);
136+
////}
137+
////for ({ name = "noName", skill = "skill" } = <Robot>{ name: "trimmer", skill: "trimming" }, i = 0; i < 1; i++) {
138+
//// console.log(nameA);
139+
////}
140+
////for ({
141+
//// name = "noName",
142+
//// skills: {
143+
//// primary = "primary",
144+
//// secondary = "secondary"
145+
//// } = { primary: "none", secondary: "none" }
146+
////} = multiRobot, i = 0; i < 1; i++) {
147+
//// console.log(primaryA);
148+
////}
149+
////for ({
150+
//// name = "noName",
151+
//// skills: {
152+
//// primary = "primary",
153+
//// secondary = "secondary"
154+
//// } = { primary: "none", secondary: "none" }
155+
////} = getMultiRobot(), i = 0; i < 1; i++) {
156+
//// console.log(primaryA);
157+
////}
158+
////for ({
159+
//// name = "noName",
160+
//// skills: {
161+
//// primary = "primary",
162+
//// secondary = "secondary"
163+
//// } = { primary: "none", secondary: "none" }
164+
////} = <MultiRobot>{ name: "trimmer", skills: { primary: "trimming", secondary: "edging" } },
165+
//// i = 0; i < 1; i++) {
166+
//// console.log(primaryA);
167+
////}
168+
verify.baselineCurrentFileBreakpointLocations();

0 commit comments

Comments
 (0)