From 04b1c26120e190765f1ecdf0bf1df83d212ddf3f Mon Sep 17 00:00:00 2001 From: Daniel Rosenwasser Date: Wed, 28 Sep 2016 10:58:20 -0700 Subject: [PATCH] Added test. --- tests/cases/compiler/mapOnTupleTypes01.ts | 45 +++++++++++++++++++++++ tests/cases/compiler/mapOnTupleTypes02.ts | 9 +++++ 2 files changed, 54 insertions(+) create mode 100644 tests/cases/compiler/mapOnTupleTypes01.ts create mode 100644 tests/cases/compiler/mapOnTupleTypes02.ts diff --git a/tests/cases/compiler/mapOnTupleTypes01.ts b/tests/cases/compiler/mapOnTupleTypes01.ts new file mode 100644 index 00000000000..0a6ee2bda6a --- /dev/null +++ b/tests/cases/compiler/mapOnTupleTypes01.ts @@ -0,0 +1,45 @@ +// @declaration: true +// @noImplicitAny: true +// @strictNullChecks: true + +export let mapOnLooseArrayLiteral = [1, 2, 3, 4].map(n => n * n); + +// Length 1 + +let numTuple: [number] = [1]; +export let a = numTuple.map(x => x * x); + +// Length 2 + +let numNum: [number, number] = [ 100, 100]; +let strStr: [string, string] = ["hello", "hello"]; +let numStr: [number, string] = [ 100, "hello"]; + +export let b = numNum.map(n => n * n); +export let c = strStr.map(s => s.charCodeAt(0)); +export let d = numStr.map(x => x); + +// Length 3 + +let numNumNum: [number, number, number] = [1, 2, 3]; + +export let e = numNumNum.map(n => n * n); + +// Length 4 + +let numNumNumNum: [number, number, number, number] = [1, 2, 3, 4]; + +export let f = numNumNumNum.map(n => n * n); + +// Length 5 + +let numNumNumNumNum: [number, number, number, number, number] = [1, 2, 3, 4, 5]; + +export let g = numNumNumNumNum.map(n => n * n); + + +// Length 6 + +let numNumNumNumNumNum: [number, number, number, number, number, number] = [1, 2, 3, 4, 5, 6]; + +export let h = numNumNumNumNum.map(n => n * n); \ No newline at end of file diff --git a/tests/cases/compiler/mapOnTupleTypes02.ts b/tests/cases/compiler/mapOnTupleTypes02.ts new file mode 100644 index 00000000000..e4c30fa0e8f --- /dev/null +++ b/tests/cases/compiler/mapOnTupleTypes02.ts @@ -0,0 +1,9 @@ +// @declaration: true +// @noImplicitAny: true +// @strictNullChecks: true + +export type Point = [number, number]; + +export function increment(point: Point) { + return point.map(d => d + 1); +} \ No newline at end of file