Skip to content

Commit 2e94f47

Browse files
committed
Add tests
1 parent 980a681 commit 2e94f47

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// @strict: true
2+
// @declaration: true
3+
// @target: esnext
4+
5+
let v1 = 'abc' as const;
6+
let v2 = `abc` as const;
7+
let v3 = 10 as const;
8+
let v4 = -10 as const;
9+
let v5 = +10 as const;
10+
let v6 = 10n as const;
11+
let v7 = -10n as const;
12+
let v8 = true as const;
13+
let v9 = false as const;
14+
15+
let c1 = 'abc' as const;
16+
let c2 = `abc` as const;
17+
let c3 = 10 as const;
18+
let c4 = -10 as const;
19+
let c5 = +10 as const;
20+
let c6 = 10n as const;
21+
let c7 = -10n as const;
22+
let c8 = true as const;
23+
let c9 = false as const;
24+
25+
let vv1 = v1;
26+
let vc1 = c1;
27+
28+
let a1 = [] as const;
29+
let a2 = [1, 2, 3] as const;
30+
let a3 = [10, 'hello', true] as const;
31+
let a4 = [...[1, 2, 3]] as const;
32+
let a5 = [1, 2, 3];
33+
let a6 = [...a5] as const;
34+
let a7 = [...a6];
35+
let a8 = ['abc', ...a7] as const;
36+
let a9 = [...a8];
37+
38+
declare let d: { [x: string]: string };
39+
40+
let o1 = { x: 10, y: 20 } as const;
41+
let o2 = { a: 1, 'b': 2, ['c']: 3, d() {}, ['e' + '']: 4 } as const;
42+
let o3 = { ...o1, ...o2 } as const;
43+
let o4 = { a: 1, b: 2 };
44+
let o5 = { ...o4 } as const;
45+
let o6 = { ...o5 };
46+
let o7 = { ...d } as const;
47+
let o8 = { ...o7 };
48+
let o9 = { x: 10, foo() { this.x = 20 } } as const; // Error
49+
50+
let p1 = (10) as const;
51+
let p2 = ((-10)) as const;
52+
let p3 = ([(10)]) as const;
53+
let p4 = [[[[10]]]] as const;
54+
55+
let x1 = { x: 10, y: [20, 30], z: { a: { b: 42 } } } as const;
56+
57+
let q1 = <const> 10;
58+
let q2 = <const> 'abc';
59+
let q3 = <const> true;
60+
let q4 = <const> [1, 2, 3];
61+
let q5 = <const> { x: 10, y: 20 };
62+
63+
declare function id<T>(x: T): T;
64+
65+
let e1 = v1 as const; // Error
66+
let e2 = (true ? 1 : 0) as const; // Error
67+
let e3 = id(1) as const; // Error

0 commit comments

Comments
 (0)