diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.errors.txt b/tests/baselines/reference/restParameterWithBindingPattern3.errors.txt new file mode 100644 index 00000000000..8b278ed3783 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern3.errors.txt @@ -0,0 +1,10 @@ +tests/cases/compiler/restParameterWithBindingPattern3.ts(1,16): error TS2322: Type '1' is not assignable to type 'string'. +tests/cases/compiler/restParameterWithBindingPattern3.ts(1,23): error TS2322: Type 'true' is not assignable to type 'string'. + + +==== tests/cases/compiler/restParameterWithBindingPattern3.ts (2 errors) ==== + function a(...[a = 1, b = true]: string[]) { } + ~ +!!! error TS2322: Type '1' is not assignable to type 'string'. + ~ +!!! error TS2322: Type 'true' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.js b/tests/baselines/reference/restParameterWithBindingPattern3.js new file mode 100644 index 00000000000..86bda118119 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern3.js @@ -0,0 +1,11 @@ +//// [restParameterWithBindingPattern3.ts] +function a(...[a = 1, b = true]: string[]) { } + +//// [restParameterWithBindingPattern3.js] +function a() { + var _a = []; + for (var _i = 0; _i < arguments.length; _i++) { + _a[_i] = arguments[_i]; + } + var _b = _a[0], a = _b === void 0 ? 1 : _b, _c = _a[1], b = _c === void 0 ? true : _c; +} diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.symbols b/tests/baselines/reference/restParameterWithBindingPattern3.symbols new file mode 100644 index 00000000000..09ffc4d8adc --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern3.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/restParameterWithBindingPattern3.ts === +function a(...[a = 1, b = true]: string[]) { } +>a : Symbol(a, Decl(restParameterWithBindingPattern3.ts, 0, 0)) +>a : Symbol(a, Decl(restParameterWithBindingPattern3.ts, 0, 15)) +>b : Symbol(b, Decl(restParameterWithBindingPattern3.ts, 0, 21)) + diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.types b/tests/baselines/reference/restParameterWithBindingPattern3.types new file mode 100644 index 00000000000..09b2f9143fe --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern3.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/restParameterWithBindingPattern3.ts === +function a(...[a = 1, b = true]: string[]) { } +>a : (...[a, b]: string[]) => void +>a : string +>1 : 1 +>b : string +>true : true + diff --git a/tests/baselines/reference/restParameterWithBindingPattern4.errors.txt b/tests/baselines/reference/restParameterWithBindingPattern4.errors.txt new file mode 100644 index 00000000000..355ab26c6c5 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern4.errors.txt @@ -0,0 +1,7 @@ +tests/cases/compiler/restParameterWithBindingPattern4.ts(1,23): error TS1186: A rest element cannot have an initializer. + + +==== tests/cases/compiler/restParameterWithBindingPattern4.ts (1 errors) ==== + function a(...[...foo = []]: string[]) { } + ~ +!!! error TS1186: A rest element cannot have an initializer. \ No newline at end of file diff --git a/tests/baselines/reference/restParameterWithBindingPattern4.js b/tests/baselines/reference/restParameterWithBindingPattern4.js new file mode 100644 index 00000000000..348fa5a02bb --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern4.js @@ -0,0 +1,11 @@ +//// [restParameterWithBindingPattern4.ts] +function a(...[...foo = []]: string[]) { } + +//// [restParameterWithBindingPattern4.js] +function a() { + var _a = []; + for (var _i = 0; _i < arguments.length; _i++) { + _a[_i] = arguments[_i]; + } + var _b = _a.slice(0), foo = _b === void 0 ? [] : _b; +} diff --git a/tests/baselines/reference/restParameterWithBindingPattern4.symbols b/tests/baselines/reference/restParameterWithBindingPattern4.symbols new file mode 100644 index 00000000000..f281620423e --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern4.symbols @@ -0,0 +1,5 @@ +=== tests/cases/compiler/restParameterWithBindingPattern4.ts === +function a(...[...foo = []]: string[]) { } +>a : Symbol(a, Decl(restParameterWithBindingPattern4.ts, 0, 0)) +>foo : Symbol(foo, Decl(restParameterWithBindingPattern4.ts, 0, 15)) + diff --git a/tests/baselines/reference/restParameterWithBindingPattern4.types b/tests/baselines/reference/restParameterWithBindingPattern4.types new file mode 100644 index 00000000000..f4af66e9be7 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern4.types @@ -0,0 +1,6 @@ +=== tests/cases/compiler/restParameterWithBindingPattern4.ts === +function a(...[...foo = []]: string[]) { } +>a : (...[...foo]: string[]) => void +>foo : string[] +>[] : undefined[] + diff --git a/tests/baselines/reference/restParameterWithBindingPattern5.js b/tests/baselines/reference/restParameterWithBindingPattern5.js new file mode 100644 index 00000000000..4bff99068e0 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern5.js @@ -0,0 +1,11 @@ +//// [restParameterWithBindingPattern5.ts] +function a(...{0: a, length, 3: d}: [boolean, string, number]) { } + +//// [restParameterWithBindingPattern5.js] +function a() { + var _a = []; + for (var _i = 0; _i < arguments.length; _i++) { + _a[_i] = arguments[_i]; + } + var a = _a[0], length = _a.length, d = _a[3]; +} diff --git a/tests/baselines/reference/restParameterWithBindingPattern5.symbols b/tests/baselines/reference/restParameterWithBindingPattern5.symbols new file mode 100644 index 00000000000..a59b24f64f4 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern5.symbols @@ -0,0 +1,7 @@ +=== tests/cases/compiler/restParameterWithBindingPattern5.ts === +function a(...{0: a, length, 3: d}: [boolean, string, number]) { } +>a : Symbol(a, Decl(restParameterWithBindingPattern5.ts, 0, 0)) +>a : Symbol(a, Decl(restParameterWithBindingPattern5.ts, 0, 15)) +>length : Symbol(length, Decl(restParameterWithBindingPattern5.ts, 0, 20)) +>d : Symbol(d, Decl(restParameterWithBindingPattern5.ts, 0, 28)) + diff --git a/tests/baselines/reference/restParameterWithBindingPattern5.types b/tests/baselines/reference/restParameterWithBindingPattern5.types new file mode 100644 index 00000000000..6986660adcd --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern5.types @@ -0,0 +1,7 @@ +=== tests/cases/compiler/restParameterWithBindingPattern5.ts === +function a(...{0: a, length, 3: d}: [boolean, string, number]) { } +>a : (__0_0: boolean, __0_1: string, __0_2: number) => void +>a : boolean +>length : 3 +>d : string | number | boolean + diff --git a/tests/baselines/reference/restParameterWithBindingPattern6.errors.txt b/tests/baselines/reference/restParameterWithBindingPattern6.errors.txt new file mode 100644 index 00000000000..6f590b2bb67 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern6.errors.txt @@ -0,0 +1,7 @@ +tests/cases/compiler/restParameterWithBindingPattern6.ts(1,23): error TS2493: Tuple type '[boolean, string, number]' with length '3' cannot be assigned to tuple with length '4'. + + +==== tests/cases/compiler/restParameterWithBindingPattern6.ts (1 errors) ==== + function a(...[a, , , d]: [boolean, string, number]) { } + ~ +!!! error TS2493: Tuple type '[boolean, string, number]' with length '3' cannot be assigned to tuple with length '4'. \ No newline at end of file diff --git a/tests/baselines/reference/restParameterWithBindingPattern6.js b/tests/baselines/reference/restParameterWithBindingPattern6.js new file mode 100644 index 00000000000..02101d0fcdb --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern6.js @@ -0,0 +1,11 @@ +//// [restParameterWithBindingPattern6.ts] +function a(...[a, , , d]: [boolean, string, number]) { } + +//// [restParameterWithBindingPattern6.js] +function a() { + var _a = []; + for (var _i = 0; _i < arguments.length; _i++) { + _a[_i] = arguments[_i]; + } + var a = _a[0], d = _a[3]; +} diff --git a/tests/baselines/reference/restParameterWithBindingPattern6.symbols b/tests/baselines/reference/restParameterWithBindingPattern6.symbols new file mode 100644 index 00000000000..2c16d11e33f --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern6.symbols @@ -0,0 +1,6 @@ +=== tests/cases/compiler/restParameterWithBindingPattern6.ts === +function a(...[a, , , d]: [boolean, string, number]) { } +>a : Symbol(a, Decl(restParameterWithBindingPattern6.ts, 0, 0)) +>a : Symbol(a, Decl(restParameterWithBindingPattern6.ts, 0, 15)) +>d : Symbol(d, Decl(restParameterWithBindingPattern6.ts, 0, 21)) + diff --git a/tests/baselines/reference/restParameterWithBindingPattern6.types b/tests/baselines/reference/restParameterWithBindingPattern6.types new file mode 100644 index 00000000000..f0062077458 --- /dev/null +++ b/tests/baselines/reference/restParameterWithBindingPattern6.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/restParameterWithBindingPattern6.ts === +function a(...[a, , , d]: [boolean, string, number]) { } +>a : (__0_0: boolean, __0_1: string, __0_2: number) => void +>a : boolean +> : undefined +> : undefined +>d : any + diff --git a/tests/cases/compiler/restParameterWithBindingPattern3.ts b/tests/cases/compiler/restParameterWithBindingPattern3.ts new file mode 100644 index 00000000000..920e00ac2e8 --- /dev/null +++ b/tests/cases/compiler/restParameterWithBindingPattern3.ts @@ -0,0 +1 @@ +function a(...[a = 1, b = true]: string[]) { } \ No newline at end of file diff --git a/tests/cases/compiler/restParameterWithBindingPattern4.ts b/tests/cases/compiler/restParameterWithBindingPattern4.ts new file mode 100644 index 00000000000..fee0067bd50 --- /dev/null +++ b/tests/cases/compiler/restParameterWithBindingPattern4.ts @@ -0,0 +1 @@ +function a(...[...foo = []]: string[]) { } \ No newline at end of file diff --git a/tests/cases/compiler/restParameterWithBindingPattern5.ts b/tests/cases/compiler/restParameterWithBindingPattern5.ts new file mode 100644 index 00000000000..7707a99b11e --- /dev/null +++ b/tests/cases/compiler/restParameterWithBindingPattern5.ts @@ -0,0 +1 @@ +function a(...{0: a, length, 3: d}: [boolean, string, number]) { } \ No newline at end of file diff --git a/tests/cases/compiler/restParameterWithBindingPattern6.ts b/tests/cases/compiler/restParameterWithBindingPattern6.ts new file mode 100644 index 00000000000..ae95ad8c4d9 --- /dev/null +++ b/tests/cases/compiler/restParameterWithBindingPattern6.ts @@ -0,0 +1 @@ +function a(...[a, , , d]: [boolean, string, number]) { } \ No newline at end of file