Skip to content

Commit e5bb0dd

Browse files
committed
Add tests
1 parent 8362559 commit e5bb0dd

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

tests/baselines/reference/arrayFlatMap.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,18 @@ const array: number[] = [];
33
const readonlyArray: ReadonlyArray<number> = [];
44
array.flatMap((): ReadonlyArray<number> => []); // ok
55
readonlyArray.flatMap((): ReadonlyArray<number> => []); // ok
6+
7+
// #19535
8+
9+
const [x] = [""].flatMap(undefined as () => string[] | string[][]);
10+
x == "";
611

712

813
//// [arrayFlatMap.js]
914
var array = [];
1015
var readonlyArray = [];
1116
array.flatMap(function () { return []; }); // ok
1217
readonlyArray.flatMap(function () { return []; }); // ok
18+
// #19535
19+
var x = [""].flatMap(undefined)[0];
20+
x == "";

tests/baselines/reference/arrayFlatMap.symbols

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,14 @@ readonlyArray.flatMap((): ReadonlyArray<number> => []); // ok
1818
>flatMap : Symbol(ReadonlyArray.flatMap, Decl(lib.es2019.array.d.ts, --, --))
1919
>ReadonlyArray : Symbol(ReadonlyArray, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2016.array.include.d.ts, --, --), Decl(lib.es2019.array.d.ts, --, --))
2020

21+
// #19535
22+
23+
const [x] = [""].flatMap(undefined as () => string[] | string[][]);
24+
>x : Symbol(x, Decl(arrayFlatMap.ts, 7, 7))
25+
>[""].flatMap : Symbol(Array.flatMap, Decl(lib.es2019.array.d.ts, --, --))
26+
>flatMap : Symbol(Array.flatMap, Decl(lib.es2019.array.d.ts, --, --))
27+
>undefined : Symbol(undefined)
28+
29+
x == "";
30+
>x : Symbol(x, Decl(arrayFlatMap.ts, 7, 7))
31+

tests/baselines/reference/arrayFlatMap.types

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,20 @@ readonlyArray.flatMap((): ReadonlyArray<number> => []); // ok
2323
>(): ReadonlyArray<number> => [] : () => readonly number[]
2424
>[] : undefined[]
2525

26+
// #19535
27+
28+
const [x] = [""].flatMap(undefined as () => string[] | string[][]);
29+
>x : string | string[]
30+
>[""].flatMap(undefined as () => string[] | string[][]) : (string | string[])[]
31+
>[""].flatMap : <U, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U, thisArg?: This) => (U extends readonly (infer V)[] ? V : U)[]
32+
>[""] : string[]
33+
>"" : ""
34+
>flatMap : <U, This = undefined>(callback: (this: This, value: string, index: number, array: string[]) => U, thisArg?: This) => (U extends readonly (infer V)[] ? V : U)[]
35+
>undefined as () => string[] | string[][] : () => string[] | string[][]
36+
>undefined : undefined
37+
38+
x == "";
39+
>x == "" : boolean
40+
>x : string | string[]
41+
>"" : ""
42+

tests/cases/compiler/arrayFlatMap.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,8 @@ const array: number[] = [];
44
const readonlyArray: ReadonlyArray<number> = [];
55
array.flatMap((): ReadonlyArray<number> => []); // ok
66
readonlyArray.flatMap((): ReadonlyArray<number> => []); // ok
7+
8+
// #19535
9+
10+
const [x] = [""].flatMap(undefined as () => string[] | string[][]);
11+
x == "";

0 commit comments

Comments
 (0)