mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-06-11 10:46:28 -05:00
Update tests and baselines
This commit is contained in:
@@ -12,18 +12,13 @@ function foo1(x: string = "string", b: number) {
|
||||
x.length;
|
||||
}
|
||||
|
||||
function foo2(x: string | undefined = "string", b: number) {
|
||||
x.length; // ok, should be narrowed to string
|
||||
function foo2(x = "string", b: number) {
|
||||
x.length;
|
||||
}
|
||||
|
||||
function foo3(x = "string", b: number) {
|
||||
x.length; // ok, should be narrowed to string
|
||||
}
|
||||
|
||||
// .d.ts should have `T | undefined` for foo1, foo2, foo3
|
||||
// .d.ts should have `T | undefined` for foo1 and foo2
|
||||
foo1(undefined, 1);
|
||||
foo2(undefined, 1);
|
||||
foo3(undefined, 1);
|
||||
|
||||
|
||||
function removeUndefinedButNotFalse(x = true) {
|
||||
@@ -60,16 +55,11 @@ function foo1(x, b) {
|
||||
}
|
||||
function foo2(x, b) {
|
||||
if (x === void 0) { x = "string"; }
|
||||
x.length; // ok, should be narrowed to string
|
||||
x.length;
|
||||
}
|
||||
function foo3(x, b) {
|
||||
if (x === void 0) { x = "string"; }
|
||||
x.length; // ok, should be narrowed to string
|
||||
}
|
||||
// .d.ts should have `T | undefined` for foo1, foo2, foo3
|
||||
// .d.ts should have `T | undefined` for foo1 and foo2
|
||||
foo1(undefined, 1);
|
||||
foo2(undefined, 1);
|
||||
foo3(undefined, 1);
|
||||
function removeUndefinedButNotFalse(x) {
|
||||
if (x === void 0) { x = true; }
|
||||
if (x === false) {
|
||||
@@ -93,7 +83,6 @@ declare function g(addUndefined: string | undefined, addDefined: number): number
|
||||
declare let total: number;
|
||||
declare function foo1(x: string | undefined, b: number): void;
|
||||
declare function foo2(x: string | undefined, b: number): void;
|
||||
declare function foo3(x: string | undefined, b: number): void;
|
||||
declare function removeUndefinedButNotFalse(x?: boolean | undefined): false | undefined;
|
||||
declare const cond: boolean;
|
||||
declare function removeNothing(y?: boolean | undefined): boolean;
|
||||
|
||||
@@ -46,29 +46,18 @@ function foo1(x: string = "string", b: number) {
|
||||
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
}
|
||||
|
||||
function foo2(x: string | undefined = "string", b: number) {
|
||||
function foo2(x = "string", b: number) {
|
||||
>foo2 : Symbol(foo2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 11, 1))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 14))
|
||||
>b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 47))
|
||||
>b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 27))
|
||||
|
||||
x.length; // ok, should be narrowed to string
|
||||
x.length;
|
||||
>x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 13, 14))
|
||||
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
}
|
||||
|
||||
function foo3(x = "string", b: number) {
|
||||
>foo3 : Symbol(foo3, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 15, 1))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14))
|
||||
>b : Symbol(b, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 27))
|
||||
|
||||
x.length; // ok, should be narrowed to string
|
||||
>x.length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 17, 14))
|
||||
>length : Symbol(String.length, Decl(lib.d.ts, --, --))
|
||||
}
|
||||
|
||||
// .d.ts should have `T | undefined` for foo1, foo2, foo3
|
||||
// .d.ts should have `T | undefined` for foo1 and foo2
|
||||
foo1(undefined, 1);
|
||||
>foo1 : Symbol(foo1, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 7, 36))
|
||||
>undefined : Symbol(undefined)
|
||||
@@ -77,41 +66,37 @@ foo2(undefined, 1);
|
||||
>foo2 : Symbol(foo2, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 11, 1))
|
||||
>undefined : Symbol(undefined)
|
||||
|
||||
foo3(undefined, 1);
|
||||
>foo3 : Symbol(foo3, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 15, 1))
|
||||
>undefined : Symbol(undefined)
|
||||
|
||||
|
||||
function removeUndefinedButNotFalse(x = true) {
|
||||
>removeUndefinedButNotFalse : Symbol(removeUndefinedButNotFalse, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 24, 19))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27, 36))
|
||||
>removeUndefinedButNotFalse : Symbol(removeUndefinedButNotFalse, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 19, 19))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22, 36))
|
||||
|
||||
if (x === false) {
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27, 36))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22, 36))
|
||||
|
||||
return x;
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 27, 36))
|
||||
>x : Symbol(x, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 22, 36))
|
||||
}
|
||||
}
|
||||
|
||||
declare const cond: boolean;
|
||||
>cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33, 13))
|
||||
>cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28, 13))
|
||||
|
||||
function removeNothing(y = cond ? true : undefined) {
|
||||
>removeNothing : Symbol(removeNothing, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33, 28))
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34, 23))
|
||||
>cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 33, 13))
|
||||
>removeNothing : Symbol(removeNothing, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28, 28))
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29, 23))
|
||||
>cond : Symbol(cond, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 28, 13))
|
||||
>undefined : Symbol(undefined)
|
||||
|
||||
if (y !== undefined) {
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34, 23))
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29, 23))
|
||||
>undefined : Symbol(undefined)
|
||||
|
||||
if (y === false) {
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34, 23))
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29, 23))
|
||||
|
||||
return y;
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 34, 23))
|
||||
>y : Symbol(y, Decl(defaultParameterAddsUndefinedWithStrictNullChecks.ts, 29, 23))
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
=== tests/cases/compiler/defaultParameterAddsUndefinedWithStrictNullChecks.ts ===
|
||||
function f(addUndefined1 = "J", addUndefined2?: number) {
|
||||
>f : (addUndefined1?: string | undefined, addUndefined2?: number | undefined) => number
|
||||
>addUndefined1 : string | undefined
|
||||
>addUndefined1 : string
|
||||
>"J" : "J"
|
||||
>addUndefined2 : number | undefined
|
||||
|
||||
@@ -17,7 +17,7 @@ function f(addUndefined1 = "J", addUndefined2?: number) {
|
||||
}
|
||||
function g(addUndefined = "J", addDefined: number) {
|
||||
>g : (addUndefined: string | undefined, addDefined: number) => number
|
||||
>addUndefined : string | undefined
|
||||
>addUndefined : string
|
||||
>"J" : "J"
|
||||
>addDefined : number
|
||||
|
||||
@@ -62,7 +62,7 @@ total = g('c', 3) + g(undefined, 4);
|
||||
|
||||
function foo1(x: string = "string", b: number) {
|
||||
>foo1 : (x: string | undefined, b: number) => void
|
||||
>x : string | undefined
|
||||
>x : string
|
||||
>"string" : "string"
|
||||
>b : number
|
||||
|
||||
@@ -72,31 +72,19 @@ function foo1(x: string = "string", b: number) {
|
||||
>length : number
|
||||
}
|
||||
|
||||
function foo2(x: string | undefined = "string", b: number) {
|
||||
function foo2(x = "string", b: number) {
|
||||
>foo2 : (x: string | undefined, b: number) => void
|
||||
>x : string | undefined
|
||||
>x : string
|
||||
>"string" : "string"
|
||||
>b : number
|
||||
|
||||
x.length; // ok, should be narrowed to string
|
||||
x.length;
|
||||
>x.length : number
|
||||
>x : string
|
||||
>length : number
|
||||
}
|
||||
|
||||
function foo3(x = "string", b: number) {
|
||||
>foo3 : (x: string | undefined, b: number) => void
|
||||
>x : string | undefined
|
||||
>"string" : "string"
|
||||
>b : number
|
||||
|
||||
x.length; // ok, should be narrowed to string
|
||||
>x.length : number
|
||||
>x : string
|
||||
>length : number
|
||||
}
|
||||
|
||||
// .d.ts should have `T | undefined` for foo1, foo2, foo3
|
||||
// .d.ts should have `T | undefined` for foo1 and foo2
|
||||
foo1(undefined, 1);
|
||||
>foo1(undefined, 1) : void
|
||||
>foo1 : (x: string | undefined, b: number) => void
|
||||
@@ -109,16 +97,10 @@ foo2(undefined, 1);
|
||||
>undefined : undefined
|
||||
>1 : 1
|
||||
|
||||
foo3(undefined, 1);
|
||||
>foo3(undefined, 1) : void
|
||||
>foo3 : (x: string | undefined, b: number) => void
|
||||
>undefined : undefined
|
||||
>1 : 1
|
||||
|
||||
|
||||
function removeUndefinedButNotFalse(x = true) {
|
||||
>removeUndefinedButNotFalse : (x?: boolean | undefined) => false | undefined
|
||||
>x : boolean | undefined
|
||||
>x : boolean
|
||||
>true : true
|
||||
|
||||
if (x === false) {
|
||||
|
||||
@@ -13,18 +13,13 @@ function foo1(x: string = "string", b: number) {
|
||||
x.length;
|
||||
}
|
||||
|
||||
function foo2(x: string | undefined = "string", b: number) {
|
||||
x.length; // ok, should be narrowed to string
|
||||
function foo2(x = "string", b: number) {
|
||||
x.length;
|
||||
}
|
||||
|
||||
function foo3(x = "string", b: number) {
|
||||
x.length; // ok, should be narrowed to string
|
||||
}
|
||||
|
||||
// .d.ts should have `T | undefined` for foo1, foo2, foo3
|
||||
// .d.ts should have `T | undefined` for foo1 and foo2
|
||||
foo1(undefined, 1);
|
||||
foo2(undefined, 1);
|
||||
foo3(undefined, 1);
|
||||
|
||||
|
||||
function removeUndefinedButNotFalse(x = true) {
|
||||
|
||||
Reference in New Issue
Block a user