Fix comments in tests

This commit is contained in:
Anders Hejlsberg
2016-06-08 16:35:39 -07:00
parent a57ee29ff7
commit d182a59782
4 changed files with 27 additions and 39 deletions

View File

@@ -71,14 +71,14 @@ function identifyBeast(beast: Beast) {
// All winged beasts with legs
if (hasWings(beast)) {
if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'.
if (beast.legs === 4) {
log(`pegasus - 4 legs, wings`);
}
else if (beast.legs === 2) { // ERROR TS2339...
else if (beast.legs === 2) {
log(`bird - 2 legs, wings`);
}
else {
log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339...
log(`unknown - ${beast.legs} legs, wings`);
}
}
@@ -101,16 +101,14 @@ function identifyBeast(beast: Beast) {
function beastFoo(beast: Object) {
if (hasWings(beast) && hasLegs(beast)) {
beast // beast is Legged
// ideally, beast would be Winged && Legged here...
beast; // Winged & Legged
}
else {
beast
beast;
}
if (hasLegs(beast) && hasWings(beast)) {
beast // beast is Winged
// ideally, beast would be Legged && Winged here...
beast; // Legged & Winged
}
}
@@ -152,7 +150,7 @@ function identifyBeast(beast) {
log("bird - 2 legs, wings");
}
else {
log("unknown - " + beast.legs + " legs, wings"); // ERROR TS2339...
log("unknown - " + beast.legs + " legs, wings");
}
}
else {
@@ -170,12 +168,12 @@ function identifyBeast(beast) {
}
function beastFoo(beast) {
if (hasWings(beast) && hasLegs(beast)) {
beast; // beast is Legged
beast; // Winged & Legged
}
else {
beast;
}
if (hasLegs(beast) && hasWings(beast)) {
beast; // beast is Winged
beast; // Legged & Winged
}
}

View File

@@ -176,7 +176,7 @@ function identifyBeast(beast: Beast) {
>hasWings : Symbol(hasWings, Decl(typeGuardIntersectionTypes.ts, 61, 83))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23))
if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'.
if (beast.legs === 4) {
>beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23))
>legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21))
@@ -184,7 +184,7 @@ function identifyBeast(beast: Beast) {
log(`pegasus - 4 legs, wings`);
>log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1))
}
else if (beast.legs === 2) { // ERROR TS2339...
else if (beast.legs === 2) {
>beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23))
>legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21))
@@ -193,7 +193,7 @@ function identifyBeast(beast: Beast) {
>log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1))
}
else {
log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339...
log(`unknown - ${beast.legs} legs, wings`);
>log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1))
>beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23))
@@ -238,13 +238,11 @@ function beastFoo(beast: Object) {
>hasLegs : Symbol(hasLegs, Decl(typeGuardIntersectionTypes.ts, 58, 39))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18))
beast // beast is Legged
beast; // Winged & Legged
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18))
// ideally, beast would be Winged && Legged here...
}
else {
beast
beast;
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18))
}
@@ -254,9 +252,7 @@ function beastFoo(beast: Object) {
>hasWings : Symbol(hasWings, Decl(typeGuardIntersectionTypes.ts, 61, 83))
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18))
beast // beast is Winged
beast; // Legged & Winged
>beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18))
// ideally, beast would be Legged && Winged here...
}
}

View File

@@ -201,7 +201,7 @@ function identifyBeast(beast: Beast) {
>hasWings : (x: Beast) => x is Winged
>beast : Legged
if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'.
if (beast.legs === 4) {
>beast.legs === 4 : boolean
>beast.legs : number
>beast : Legged & Winged
@@ -213,7 +213,7 @@ function identifyBeast(beast: Beast) {
>log : (s: string) => void
>`pegasus - 4 legs, wings` : string
}
else if (beast.legs === 2) { // ERROR TS2339...
else if (beast.legs === 2) {
>beast.legs === 2 : boolean
>beast.legs : number
>beast : Legged & Winged
@@ -226,7 +226,7 @@ function identifyBeast(beast: Beast) {
>`bird - 2 legs, wings` : string
}
else {
log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339...
log(`unknown - ${beast.legs} legs, wings`);
>log(`unknown - ${beast.legs} legs, wings`) : void
>log : (s: string) => void
>`unknown - ${beast.legs} legs, wings` : string
@@ -283,13 +283,11 @@ function beastFoo(beast: Object) {
>hasLegs : (x: Beast) => x is Legged
>beast : Winged
beast // beast is Legged
beast; // Winged & Legged
>beast : Winged & Legged
// ideally, beast would be Winged && Legged here...
}
else {
beast
beast;
>beast : Object
}
@@ -302,9 +300,7 @@ function beastFoo(beast: Object) {
>hasWings : (x: Beast) => x is Winged
>beast : Legged
beast // beast is Winged
beast; // Legged & Winged
>beast : Legged & Winged
// ideally, beast would be Legged && Winged here...
}
}

View File

@@ -71,14 +71,14 @@ function identifyBeast(beast: Beast) {
// All winged beasts with legs
if (hasWings(beast)) {
if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'.
if (beast.legs === 4) {
log(`pegasus - 4 legs, wings`);
}
else if (beast.legs === 2) { // ERROR TS2339...
else if (beast.legs === 2) {
log(`bird - 2 legs, wings`);
}
else {
log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339...
log(`unknown - ${beast.legs} legs, wings`);
}
}
@@ -101,15 +101,13 @@ function identifyBeast(beast: Beast) {
function beastFoo(beast: Object) {
if (hasWings(beast) && hasLegs(beast)) {
beast // beast is Legged
// ideally, beast would be Winged && Legged here...
beast; // Winged & Legged
}
else {
beast
beast;
}
if (hasLegs(beast) && hasWings(beast)) {
beast // beast is Winged
// ideally, beast would be Legged && Winged here...
beast; // Legged & Winged
}
}