Add test cases for variable statements with destructuring breakpoint validation

This commit is contained in:
Sheetal Nandi 2015-12-17 14:00:56 -08:00
parent 834aa95334
commit 00e253ad88
10 changed files with 980 additions and 0 deletions

View File

@ -0,0 +1,99 @@
1 >interface Robot {
~~~~~~~~~~~~~~~~~~ => Pos: (0 to 17) SpanInfo: undefined
--------------------------------
2 > name: string;
~~~~~~~~~~~~~~~~~~ => Pos: (18 to 35) SpanInfo: undefined
--------------------------------
3 > skill: string;
~~~~~~~~~~~~~~~~~~~ => Pos: (36 to 54) SpanInfo: undefined
--------------------------------
4 >}
~~ => Pos: (55 to 56) SpanInfo: undefined
--------------------------------
5 >declare var console: {
~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (57 to 79) SpanInfo: undefined
--------------------------------
6 > log(msg: string): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (80 to 107) SpanInfo: undefined
--------------------------------
7 >}
~~ => Pos: (108 to 109) SpanInfo: undefined
--------------------------------
8 >var hello = "hello";
~~~~~~~~~~~~~~~~~~~~~ => Pos: (110 to 130) SpanInfo: {"start":110,"length":19}
>var hello = "hello"
>:=> (line 8, col 0) to (line 8, col 19)
--------------------------------
9 >var robotA: Robot = { name: "mower", skill: "mowing" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (131 to 186) SpanInfo: {"start":131,"length":54}
>var robotA: Robot = { name: "mower", skill: "mowing" }
>:=> (line 9, col 0) to (line 9, col 54)
--------------------------------
10 >var robotB: Robot = { name: "trimmer", skill: "trimming" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (187 to 246) SpanInfo: {"start":187,"length":58}
>var robotB: Robot = { name: "trimmer", skill: "trimming" }
>:=> (line 10, col 0) to (line 10, col 58)
--------------------------------
11 >var { name: nameA } = robotA;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (247 to 276) SpanInfo: {"start":247,"length":28}
>var { name: nameA } = robotA
>:=> (line 11, col 0) to (line 11, col 28)
--------------------------------
12 >var { name: nameB, skill: skillB } = robotB;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (277 to 321) SpanInfo: {"start":277,"length":43}
>var { name: nameB, skill: skillB } = robotB
>:=> (line 12, col 0) to (line 12, col 43)
--------------------------------
13 >var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (322 to 401) SpanInfo: {"start":322,"length":78}
>var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }
>:=> (line 13, col 0) to (line 13, col 78)
--------------------------------
14 >if (nameA == nameB) {
~~~~~~~~~~~~~~~~~~~~~~ => Pos: (402 to 423) SpanInfo: {"start":402,"length":19}
>if (nameA == nameB)
>:=> (line 14, col 0) to (line 14, col 19)
--------------------------------
15 > console.log(skillB);
~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (424 to 448) SpanInfo: {"start":428,"length":19}
>console.log(skillB)
>:=> (line 15, col 4) to (line 15, col 23)
--------------------------------
16 >}
~~ => Pos: (449 to 450) SpanInfo: {"start":428,"length":19}
>console.log(skillB)
>:=> (line 15, col 4) to (line 15, col 23)
--------------------------------
17 >else {
~~~~~~~ => Pos: (451 to 457) SpanInfo: {"start":462,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)
--------------------------------
18 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (458 to 481) SpanInfo: {"start":462,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)
--------------------------------
19 >}
~ => Pos: (482 to 482) SpanInfo: {"start":462,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)

View File

@ -0,0 +1,197 @@
1 >interface Robot {
~~~~~~~~~~~~~~~~~~ => Pos: (0 to 17) SpanInfo: undefined
--------------------------------
2 > name: string;
~~~~~~~~~~~~~~~~~~ => Pos: (18 to 35) SpanInfo: undefined
--------------------------------
3 > skill: string;
~~~~~~~~~~~~~~~~~~~ => Pos: (36 to 54) SpanInfo: undefined
--------------------------------
4 >}
~~ => Pos: (55 to 56) SpanInfo: undefined
--------------------------------
5 >declare var console: {
~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (57 to 79) SpanInfo: undefined
--------------------------------
6 > log(msg: string): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (80 to 107) SpanInfo: undefined
--------------------------------
7 >}
~~ => Pos: (108 to 109) SpanInfo: undefined
--------------------------------
8 >var hello = "hello";
~~~~~~~~~~~~~~~~~~~~~ => Pos: (110 to 130) SpanInfo: {"start":110,"length":19}
>var hello = "hello"
>:=> (line 8, col 0) to (line 8, col 19)
--------------------------------
9 >var robotA: Robot = { name: "mower", skill: "mowing" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (131 to 186) SpanInfo: {"start":131,"length":54}
>var robotA: Robot = { name: "mower", skill: "mowing" }
>:=> (line 9, col 0) to (line 9, col 54)
--------------------------------
10 >var robotB: Robot = { name: "trimmer", skill: "trimming" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (187 to 246) SpanInfo: {"start":187,"length":58}
>var robotB: Robot = { name: "trimmer", skill: "trimming" }
>:=> (line 10, col 0) to (line 10, col 58)
--------------------------------
11 >var a: string, { name: nameA } = robotA;
~~~~~~~~~~~~~~ => Pos: (247 to 260) SpanInfo: undefined
11 >var a: string, { name: nameA } = robotA;
~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (261 to 287) SpanInfo: {"start":262,"length":24}
>{ name: nameA } = robotA
>:=> (line 11, col 15) to (line 11, col 39)
--------------------------------
12 >var b: string, { name: nameB, skill: skillB } = robotB;
~~~~~~~~~~~~~~ => Pos: (288 to 301) SpanInfo: undefined
12 >var b: string, { name: nameB, skill: skillB } = robotB;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (302 to 343) SpanInfo: {"start":303,"length":39}
>{ name: nameB, skill: skillB } = robotB
>:=> (line 12, col 15) to (line 12, col 54)
--------------------------------
13 >var c: string, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" };
~~~~~~~~~~~~~~ => Pos: (344 to 357) SpanInfo: undefined
13 >var c: string, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (358 to 434) SpanInfo: {"start":359,"length":74}
>{ name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }
>:=> (line 13, col 15) to (line 13, col 89)
--------------------------------
14 >
~ => Pos: (435 to 435) SpanInfo: undefined
--------------------------------
15 >var { name: nameA } = robotA, a = hello;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (436 to 464) SpanInfo: {"start":436,"length":28}
>var { name: nameA } = robotA
>:=> (line 15, col 0) to (line 15, col 28)
15 >var { name: nameA } = robotA, a = hello;
~~~~~~~~~~~~ => Pos: (465 to 476) SpanInfo: {"start":466,"length":9}
>a = hello
>:=> (line 15, col 30) to (line 15, col 39)
--------------------------------
16 >var { name: nameB, skill: skillB } = robotB, b = " hello";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (477 to 520) SpanInfo: {"start":477,"length":43}
>var { name: nameB, skill: skillB } = robotB
>:=> (line 16, col 0) to (line 16, col 43)
16 >var { name: nameB, skill: skillB } = robotB, b = " hello";
~~~~~~~~~~~~~~~=> Pos: (521 to 535) SpanInfo: {"start":522,"length":12}
>b = " hello"
>:=> (line 16, col 45) to (line 16, col 57)
--------------------------------
17 >var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c = hello;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (536 to 614) SpanInfo: {"start":536,"length":78}
>var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }
>:=> (line 17, col 0) to (line 17, col 78)
17 >var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c = hello;
~~~~~~~~~~~~=> Pos: (615 to 626) SpanInfo: {"start":616,"length":9}
>c = hello
>:=> (line 17, col 80) to (line 17, col 89)
--------------------------------
18 >
~ => Pos: (627 to 627) SpanInfo: undefined
--------------------------------
19 >var a = hello, { name: nameA } = robotA, a1= "hello";
~~~~~~~~~~~~~~ => Pos: (628 to 641) SpanInfo: {"start":628,"length":13}
>var a = hello
>:=> (line 19, col 0) to (line 19, col 13)
19 >var a = hello, { name: nameA } = robotA, a1= "hello";
~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (642 to 667) SpanInfo: {"start":643,"length":24}
>{ name: nameA } = robotA
>:=> (line 19, col 15) to (line 19, col 39)
19 >var a = hello, { name: nameA } = robotA, a1= "hello";
~~~~~~~~~~~~~~=> Pos: (668 to 681) SpanInfo: {"start":669,"length":11}
>a1= "hello"
>:=> (line 19, col 41) to (line 19, col 52)
--------------------------------
20 >var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello";
~~~~~~~~~~~~~~ => Pos: (682 to 695) SpanInfo: {"start":682,"length":13}
>var b = hello
>:=> (line 20, col 0) to (line 20, col 13)
20 >var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello";
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (696 to 736) SpanInfo: {"start":697,"length":39}
>{ name: nameB, skill: skillB } = robotB
>:=> (line 20, col 15) to (line 20, col 54)
20 >var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello";
~~~~~~~~~~~~~~~=> Pos: (737 to 751) SpanInfo: {"start":738,"length":12}
>b1 = "hello"
>:=> (line 20, col 56) to (line 20, col 68)
--------------------------------
21 >var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c1 = hello;
~~~~~~~~~~~~~~ => Pos: (752 to 765) SpanInfo: {"start":752,"length":13}
>var c = hello
>:=> (line 21, col 0) to (line 21, col 13)
21 >var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c1 = hello;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (766 to 841) SpanInfo: {"start":767,"length":74}
>{ name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }
>:=> (line 21, col 15) to (line 21, col 89)
21 >var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c1 = hello;
~~~~~~~~~~~~~=> Pos: (842 to 854) SpanInfo: {"start":843,"length":10}
>c1 = hello
>:=> (line 21, col 91) to (line 21, col 101)
--------------------------------
22 >if (nameA == nameB) {
~~~~~~~~~~~~~~~~~~~~~~ => Pos: (855 to 876) SpanInfo: {"start":855,"length":19}
>if (nameA == nameB)
>:=> (line 22, col 0) to (line 22, col 19)
--------------------------------
23 > console.log(skillB);
~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (877 to 901) SpanInfo: {"start":881,"length":19}
>console.log(skillB)
>:=> (line 23, col 4) to (line 23, col 23)
--------------------------------
24 >}
~~ => Pos: (902 to 903) SpanInfo: {"start":881,"length":19}
>console.log(skillB)
>:=> (line 23, col 4) to (line 23, col 23)
--------------------------------
25 >else {
~~~~~~~ => Pos: (904 to 910) SpanInfo: {"start":915,"length":18}
>console.log(nameC)
>:=> (line 26, col 4) to (line 26, col 22)
--------------------------------
26 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (911 to 934) SpanInfo: {"start":915,"length":18}
>console.log(nameC)
>:=> (line 26, col 4) to (line 26, col 22)
--------------------------------
27 >}
~ => Pos: (935 to 935) SpanInfo: {"start":915,"length":18}
>console.log(nameC)
>:=> (line 26, col 4) to (line 26, col 22)

View File

@ -0,0 +1,99 @@
1 >interface Robot {
~~~~~~~~~~~~~~~~~~ => Pos: (0 to 17) SpanInfo: undefined
--------------------------------
2 > name: string;
~~~~~~~~~~~~~~~~~~ => Pos: (18 to 35) SpanInfo: undefined
--------------------------------
3 > skill: string;
~~~~~~~~~~~~~~~~~~~ => Pos: (36 to 54) SpanInfo: undefined
--------------------------------
4 >}
~~ => Pos: (55 to 56) SpanInfo: undefined
--------------------------------
5 >declare var console: {
~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (57 to 79) SpanInfo: undefined
--------------------------------
6 > log(msg: string): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (80 to 107) SpanInfo: undefined
--------------------------------
7 >}
~~ => Pos: (108 to 109) SpanInfo: undefined
--------------------------------
8 >var hello = "hello";
~~~~~~~~~~~~~~~~~~~~~ => Pos: (110 to 130) SpanInfo: {"start":110,"length":19}
>var hello = "hello"
>:=> (line 8, col 0) to (line 8, col 19)
--------------------------------
9 >var robotA: Robot = { name: "mower", skill: "mowing" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (131 to 186) SpanInfo: {"start":131,"length":54}
>var robotA: Robot = { name: "mower", skill: "mowing" }
>:=> (line 9, col 0) to (line 9, col 54)
--------------------------------
10 >var robotB: Robot = { name: "trimmer", skill: "trimming" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (187 to 246) SpanInfo: {"start":187,"length":58}
>var robotB: Robot = { name: "trimmer", skill: "trimming" }
>:=> (line 10, col 0) to (line 10, col 58)
--------------------------------
11 >var { name: nameA = "<NoName>" } = robotA;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (247 to 289) SpanInfo: {"start":247,"length":41}
>var { name: nameA = "<NoName>" } = robotA
>:=> (line 11, col 0) to (line 11, col 41)
--------------------------------
12 >var { name: nameB = "<NoName>", skill: skillB = "<skillUnspecified>" } = robotB;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (290 to 370) SpanInfo: {"start":290,"length":79}
>var { name: nameB = "<NoName>", skill: skillB = "<skillUnspecified>" } = robotB
>:=> (line 12, col 0) to (line 12, col 79)
--------------------------------
13 >var { name: nameC = "<NoName>", skill: skillC = "<skillUnspecified>" } = { name: "Edger", skill: "cutting edges" };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (371 to 486) SpanInfo: {"start":371,"length":114}
>var { name: nameC = "<NoName>", skill: skillC = "<skillUnspecified>" } = { name: "Edger", skill: "cutting edges" }
>:=> (line 13, col 0) to (line 13, col 114)
--------------------------------
14 >if (nameA == nameB) {
~~~~~~~~~~~~~~~~~~~~~~ => Pos: (487 to 508) SpanInfo: {"start":487,"length":19}
>if (nameA == nameB)
>:=> (line 14, col 0) to (line 14, col 19)
--------------------------------
15 > console.log(skillB);
~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (509 to 533) SpanInfo: {"start":513,"length":19}
>console.log(skillB)
>:=> (line 15, col 4) to (line 15, col 23)
--------------------------------
16 >}
~~ => Pos: (534 to 535) SpanInfo: {"start":513,"length":19}
>console.log(skillB)
>:=> (line 15, col 4) to (line 15, col 23)
--------------------------------
17 >else {
~~~~~~~ => Pos: (536 to 542) SpanInfo: {"start":547,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)
--------------------------------
18 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (543 to 566) SpanInfo: {"start":547,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)
--------------------------------
19 >}
~ => Pos: (567 to 567) SpanInfo: {"start":547,"length":18}
>console.log(nameC)
>:=> (line 18, col 4) to (line 18, col 22)

View File

@ -0,0 +1,113 @@
1 >declare var console: {
~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (0 to 22) SpanInfo: undefined
--------------------------------
2 > log(msg: string): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (23 to 50) SpanInfo: undefined
--------------------------------
3 >}
~~ => Pos: (51 to 52) SpanInfo: undefined
--------------------------------
4 >interface Robot {
~~~~~~~~~~~~~~~~~~ => Pos: (53 to 70) SpanInfo: undefined
--------------------------------
5 > name: string;
~~~~~~~~~~~~~~~~~~ => Pos: (71 to 88) SpanInfo: undefined
--------------------------------
6 > skills: {
~~~~~~~~~~~~~~ => Pos: (89 to 102) SpanInfo: undefined
--------------------------------
7 > primary: string;
~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (103 to 127) SpanInfo: undefined
--------------------------------
8 > secondary: string;
~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (128 to 154) SpanInfo: undefined
--------------------------------
9 > };
~~~~~~~ => Pos: (155 to 161) SpanInfo: undefined
--------------------------------
10 >}
~~ => Pos: (162 to 163) SpanInfo: undefined
--------------------------------
11 >var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (164 to 252) SpanInfo: {"start":164,"length":87}
>var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }
>:=> (line 11, col 0) to (line 11, col 87)
--------------------------------
12 >var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (253 to 347) SpanInfo: {"start":253,"length":93}
>var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }
>:=> (line 12, col 0) to (line 12, col 93)
--------------------------------
13 >
~ => Pos: (348 to 348) SpanInfo: undefined
--------------------------------
14 >var { skills: { primary: primaryA, secondary: secondaryA } } = robotA;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (349 to 419) SpanInfo: {"start":349,"length":69}
>var { skills: { primary: primaryA, secondary: secondaryA } } = robotA
>:=> (line 14, col 0) to (line 14, col 69)
--------------------------------
15 >var { name: nameB, skills: { primary: primaryB, secondary: secondaryB } } = robotB;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (420 to 503) SpanInfo: {"start":420,"length":82}
>var { name: nameB, skills: { primary: primaryB, secondary: secondaryB } } = robotB
>:=> (line 15, col 0) to (line 15, col 82)
--------------------------------
16 >var { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (504 to 659) SpanInfo: {"start":504,"length":154}
>var { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 16, col 0) to (line 16, col 154)
--------------------------------
17 >
~ => Pos: (660 to 660) SpanInfo: undefined
--------------------------------
18 >if (nameB == nameB) {
~~~~~~~~~~~~~~~~~~~~~~ => Pos: (661 to 682) SpanInfo: {"start":661,"length":19}
>if (nameB == nameB)
>:=> (line 18, col 0) to (line 18, col 19)
--------------------------------
19 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (683 to 706) SpanInfo: {"start":687,"length":18}
>console.log(nameC)
>:=> (line 19, col 4) to (line 19, col 22)
--------------------------------
20 >}
~~ => Pos: (707 to 708) SpanInfo: {"start":687,"length":18}
>console.log(nameC)
>:=> (line 19, col 4) to (line 19, col 22)
--------------------------------
21 >else {
~~~~~~~ => Pos: (709 to 715) SpanInfo: {"start":720,"length":18}
>console.log(nameC)
>:=> (line 22, col 4) to (line 22, col 22)
--------------------------------
22 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (716 to 739) SpanInfo: {"start":720,"length":18}
>console.log(nameC)
>:=> (line 22, col 4) to (line 22, col 22)
--------------------------------
23 >}
~ => Pos: (740 to 740) SpanInfo: {"start":720,"length":18}
>console.log(nameC)
>:=> (line 22, col 4) to (line 22, col 22)

View File

@ -0,0 +1,329 @@
1 >declare var console: {
~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (0 to 22) SpanInfo: undefined
--------------------------------
2 > log(msg: string): void;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (23 to 50) SpanInfo: undefined
--------------------------------
3 >}
~~ => Pos: (51 to 52) SpanInfo: undefined
--------------------------------
4 >interface Robot {
~~~~~~~~~~~~~~~~~~ => Pos: (53 to 70) SpanInfo: undefined
--------------------------------
5 > name: string;
~~~~~~~~~~~~~~~~~~ => Pos: (71 to 88) SpanInfo: undefined
--------------------------------
6 > skills: {
~~~~~~~~~~~~~~ => Pos: (89 to 102) SpanInfo: undefined
--------------------------------
7 > primary?: string;
~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (103 to 128) SpanInfo: undefined
--------------------------------
8 > secondary?: string;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (129 to 156) SpanInfo: undefined
--------------------------------
9 > };
~~~~~~~ => Pos: (157 to 163) SpanInfo: undefined
--------------------------------
10 >}
~~ => Pos: (164 to 165) SpanInfo: undefined
--------------------------------
11 >var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (166 to 254) SpanInfo: {"start":166,"length":87}
>var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } }
>:=> (line 11, col 0) to (line 11, col 87)
--------------------------------
12 >var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (255 to 349) SpanInfo: {"start":255,"length":93}
>var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } }
>:=> (line 12, col 0) to (line 12, col 93)
--------------------------------
13 >
~ => Pos: (350 to 350) SpanInfo: undefined
--------------------------------
14 >var {
~~~~~~ => Pos: (351 to 356) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
15 > skills: {
~~~~~~~~~~~~~~ => Pos: (357 to 370) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
16 > primary: primaryA = "noSkill",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (371 to 409) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
17 > secondary: secondaryA = "noSkill"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (410 to 451) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
18 > } = { primary: "noSkill", secondary: "noSkill" }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (452 to 504) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
19 >} = robotA;
~~~~~~~~~~~~ => Pos: (505 to 516) SpanInfo: {"start":351,"length":164}
>var {
> skills: {
> primary: primaryA = "noSkill",
> secondary: secondaryA = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotA
>:=> (line 14, col 0) to (line 19, col 10)
--------------------------------
20 >var {
~~~~~~ => Pos: (517 to 522) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
21 > name: nameB = "noNameSpecified",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (523 to 559) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
22 > skills: {
~~~~~~~~~~~~~~ => Pos: (560 to 573) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
23 > primary: primaryB = "noSkill",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (574 to 612) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
24 > secondary: secondaryB = "noSkill"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (613 to 654) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
25 > } = { primary: "noSkill", secondary: "noSkill" }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (655 to 707) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
26 >} = robotB;
~~~~~~~~~~~~ => Pos: (708 to 719) SpanInfo: {"start":517,"length":201}
>var {
> name: nameB = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = robotB
>:=> (line 20, col 0) to (line 26, col 10)
--------------------------------
27 >var {
~~~~~~ => Pos: (720 to 725) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
28 > name: nameC = "noNameSpecified",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (726 to 762) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
29 > skills: {
~~~~~~~~~~~~~~ => Pos: (763 to 776) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
30 > primary: primaryB = "noSkill",
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (777 to 815) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
31 > secondary: secondaryB = "noSkill"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (816 to 857) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
32 > } = { primary: "noSkill", secondary: "noSkill" }
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (858 to 910) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
33 >} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } };
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=> Pos: (911 to 1001) SpanInfo: {"start":720,"length":280}
>var {
> name: nameC = "noNameSpecified",
> skills: {
> primary: primaryB = "noSkill",
> secondary: secondaryB = "noSkill"
> } = { primary: "noSkill", secondary: "noSkill" }
>} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } }
>:=> (line 27, col 0) to (line 33, col 89)
--------------------------------
34 >
~ => Pos: (1002 to 1002) SpanInfo: undefined
--------------------------------
35 >if (nameB == nameB) {
~~~~~~~~~~~~~~~~~~~~~~ => Pos: (1003 to 1024) SpanInfo: {"start":1003,"length":19}
>if (nameB == nameB)
>:=> (line 35, col 0) to (line 35, col 19)
--------------------------------
36 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (1025 to 1048) SpanInfo: {"start":1029,"length":18}
>console.log(nameC)
>:=> (line 36, col 4) to (line 36, col 22)
--------------------------------
37 >}
~~ => Pos: (1049 to 1050) SpanInfo: {"start":1029,"length":18}
>console.log(nameC)
>:=> (line 36, col 4) to (line 36, col 22)
--------------------------------
38 >else {
~~~~~~~ => Pos: (1051 to 1057) SpanInfo: {"start":1062,"length":18}
>console.log(nameC)
>:=> (line 39, col 4) to (line 39, col 22)
--------------------------------
39 > console.log(nameC);
~~~~~~~~~~~~~~~~~~~~~~~~ => Pos: (1058 to 1081) SpanInfo: {"start":1062,"length":18}
>console.log(nameC)
>:=> (line 39, col 4) to (line 39, col 22)
--------------------------------
40 >}
~ => Pos: (1082 to 1082) SpanInfo: {"start":1062,"length":18}
>console.log(nameC)
>:=> (line 39, col 4) to (line 39, col 22)

View File

@ -0,0 +1,22 @@
/// <reference path='fourslash.ts' />
////interface Robot {
//// name: string;
//// skill: string;
////}
////declare var console: {
//// log(msg: string): void;
////}
////var hello = "hello";
////var robotA: Robot = { name: "mower", skill: "mowing" };
////var robotB: Robot = { name: "trimmer", skill: "trimming" };
////var { name: nameA } = robotA;
////var { name: nameB, skill: skillB } = robotB;
////var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" };
////if (nameA == nameB) {
//// console.log(skillB);
////}
////else {
//// console.log(nameC);
////}
verify.baselineCurrentFileBreakpointLocations();

View File

@ -0,0 +1,30 @@
/// <reference path='fourslash.ts' />
////interface Robot {
//// name: string;
//// skill: string;
////}
////declare var console: {
//// log(msg: string): void;
////}
////var hello = "hello";
////var robotA: Robot = { name: "mower", skill: "mowing" };
////var robotB: Robot = { name: "trimmer", skill: "trimming" };
////var a: string, { name: nameA } = robotA;
////var b: string, { name: nameB, skill: skillB } = robotB;
////var c: string, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" };
////
////var { name: nameA } = robotA, a = hello;
////var { name: nameB, skill: skillB } = robotB, b = " hello";
////var { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c = hello;
////
////var a = hello, { name: nameA } = robotA, a1= "hello";
////var b = hello, { name: nameB, skill: skillB } = robotB, b1 = "hello";
////var c = hello, { name: nameC, skill: skillC } = { name: "Edger", skill: "cutting edges" }, c1 = hello;
////if (nameA == nameB) {
//// console.log(skillB);
////}
////else {
//// console.log(nameC);
////}
verify.baselineCurrentFileBreakpointLocations();

View File

@ -0,0 +1,22 @@
/// <reference path='fourslash.ts' />
////interface Robot {
//// name: string;
//// skill: string;
////}
////declare var console: {
//// log(msg: string): void;
////}
////var hello = "hello";
////var robotA: Robot = { name: "mower", skill: "mowing" };
////var robotB: Robot = { name: "trimmer", skill: "trimming" };
////var { name: nameA = "<NoName>" } = robotA;
////var { name: nameB = "<NoName>", skill: skillB = "<skillUnspecified>" } = robotB;
////var { name: nameC = "<NoName>", skill: skillC = "<skillUnspecified>" } = { name: "Edger", skill: "cutting edges" };
////if (nameA == nameB) {
//// console.log(skillB);
////}
////else {
//// console.log(nameC);
////}
verify.baselineCurrentFileBreakpointLocations();

View File

@ -0,0 +1,26 @@
/// <reference path='fourslash.ts' />
////declare var console: {
//// log(msg: string): void;
////}
////interface Robot {
//// name: string;
//// skills: {
//// primary: string;
//// secondary: string;
//// };
////}
////var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
////var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } };
////
////var { skills: { primary: primaryA, secondary: secondaryA } } = robotA;
////var { name: nameB, skills: { primary: primaryB, secondary: secondaryB } } = robotB;
////var { name: nameC, skills: { primary: primaryB, secondary: secondaryB } } = { name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } };
////
////if (nameB == nameB) {
//// console.log(nameC);
////}
////else {
//// console.log(nameC);
////}
verify.baselineCurrentFileBreakpointLocations();

View File

@ -0,0 +1,43 @@
/// <reference path='fourslash.ts' />
////declare var console: {
//// log(msg: string): void;
////}
////interface Robot {
//// name: string;
//// skills: {
//// primary?: string;
//// secondary?: string;
//// };
////}
////var robotA: Robot = { name: "mower", skills: { primary: "mowing", secondary: "none" } };
////var robotB: Robot = { name: "trimmer", skills: { primary: "trimming", secondary: "edging" } };
////
////var {
//// skills: {
//// primary: primaryA = "noSkill",
//// secondary: secondaryA = "noSkill"
//// } = { primary: "noSkill", secondary: "noSkill" }
////} = robotA;
////var {
//// name: nameB = "noNameSpecified",
//// skills: {
//// primary: primaryB = "noSkill",
//// secondary: secondaryB = "noSkill"
//// } = { primary: "noSkill", secondary: "noSkill" }
////} = robotB;
////var {
//// name: nameC = "noNameSpecified",
//// skills: {
//// primary: primaryB = "noSkill",
//// secondary: secondaryB = "noSkill"
//// } = { primary: "noSkill", secondary: "noSkill" }
////} = <Robot>{ name: "Edger", skills: { primary: "edging", secondary: "branch trimming" } };
////
////if (nameB == nameB) {
//// console.log(nameC);
////}
////else {
//// console.log(nameC);
////}
verify.baselineCurrentFileBreakpointLocations();