|
1 | 1 | // Copyright 2021-present the Fonction authors. All rights reserved. MIT license. |
2 | | -import { assertEquals } from '../dev_deps.ts' |
3 | | -import { tail } from '../src/tail.ts' |
| 2 | +import { assertEquals, assertEqualsType } from '../dev_deps.ts' |
| 3 | +import { Tail, tail } from './tail.ts' |
4 | 4 |
|
5 | 5 | Deno.test('tail', () => { |
6 | 6 | const tableString: [string, string][] = [ |
@@ -37,4 +37,18 @@ Deno.test('tail', () => { |
37 | 37 | tableArray.forEach(([val, expected]) => { |
38 | 38 | assertEquals(tail(val), expected, `tail(${val}) -> ${expected}`) |
39 | 39 | }) |
| 40 | + |
| 41 | + assertEqualsType<string, Tail<string>>() |
| 42 | + assertEqualsType<'', Tail<''>>() |
| 43 | + assertEqualsType<'', Tail<'a'>>() |
| 44 | + assertEqualsType<'b', Tail<'ab'>>() |
| 45 | + assertEqualsType<'bcdef', Tail<'abcdef'>>() |
| 46 | + assertEqualsType<[], Tail<[]>>() |
| 47 | + assertEqualsType<[], Tail<[1]>>() |
| 48 | + assertEqualsType<[], Tail<readonly [1]>>() |
| 49 | + assertEqualsType<[2], Tail<[1, 2]>>() |
| 50 | + assertEqualsType<[2, 3, 4, 5], Tail<[1, 2, 3, 4, 5]>>() |
| 51 | + assertEqualsType<[2, 3, 4, 5], Tail<readonly [1, 2, 3, 4, 5]>>() |
| 52 | + assertEqualsType<string[], Tail<string[]>>() |
| 53 | + assertEqualsType<readonly string[], Tail<readonly string[]>>() |
40 | 54 | }) |
0 commit comments