Skip to content

Commit f81a8e7

Browse files
committed
Add tests
1 parent 97aa987 commit f81a8e7

7 files changed

Lines changed: 237 additions & 0 deletions
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
//// [unusedLocalsAndParametersTypeAliases.ts]
2+
3+
// used in a declaration
4+
type handler1 = () => void;
5+
export interface I1 {
6+
getHandler: handler1;
7+
}
8+
9+
// exported
10+
export type handler2 = () => void;
11+
12+
// used in extends clause
13+
type handler3 = () => void;
14+
export interface I3<T extends handler3> {
15+
getHandler: T;
16+
}
17+
18+
// used in another type alias declaration
19+
type handler4 = () => void;
20+
type handler5 = handler4 | (()=>number);
21+
var x: handler5;
22+
x();
23+
24+
// used as type argument
25+
type handler6 = () => void;
26+
var y: Array<handler6>;
27+
y[0]();
28+
29+
30+
//// [unusedLocalsAndParametersTypeAliases.js]
31+
"use strict";
32+
var x;
33+
x();
34+
var y;
35+
y[0]();
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
=== tests/cases/compiler/unusedLocalsAndParametersTypeAliases.ts ===
2+
3+
// used in a declaration
4+
type handler1 = () => void;
5+
>handler1 : Symbol(handler1, Decl(unusedLocalsAndParametersTypeAliases.ts, 0, 0))
6+
7+
export interface I1 {
8+
>I1 : Symbol(I1, Decl(unusedLocalsAndParametersTypeAliases.ts, 2, 27))
9+
10+
getHandler: handler1;
11+
>getHandler : Symbol(I1.getHandler, Decl(unusedLocalsAndParametersTypeAliases.ts, 3, 21))
12+
>handler1 : Symbol(handler1, Decl(unusedLocalsAndParametersTypeAliases.ts, 0, 0))
13+
}
14+
15+
// exported
16+
export type handler2 = () => void;
17+
>handler2 : Symbol(handler2, Decl(unusedLocalsAndParametersTypeAliases.ts, 5, 1))
18+
19+
// used in extends clause
20+
type handler3 = () => void;
21+
>handler3 : Symbol(handler3, Decl(unusedLocalsAndParametersTypeAliases.ts, 8, 34))
22+
23+
export interface I3<T extends handler3> {
24+
>I3 : Symbol(I3, Decl(unusedLocalsAndParametersTypeAliases.ts, 11, 27))
25+
>T : Symbol(T, Decl(unusedLocalsAndParametersTypeAliases.ts, 12, 20))
26+
>handler3 : Symbol(handler3, Decl(unusedLocalsAndParametersTypeAliases.ts, 8, 34))
27+
28+
getHandler: T;
29+
>getHandler : Symbol(I3.getHandler, Decl(unusedLocalsAndParametersTypeAliases.ts, 12, 41))
30+
>T : Symbol(T, Decl(unusedLocalsAndParametersTypeAliases.ts, 12, 20))
31+
}
32+
33+
// used in another type alias declaration
34+
type handler4 = () => void;
35+
>handler4 : Symbol(handler4, Decl(unusedLocalsAndParametersTypeAliases.ts, 14, 1))
36+
37+
type handler5 = handler4 | (()=>number);
38+
>handler5 : Symbol(handler5, Decl(unusedLocalsAndParametersTypeAliases.ts, 17, 27))
39+
>handler4 : Symbol(handler4, Decl(unusedLocalsAndParametersTypeAliases.ts, 14, 1))
40+
41+
var x: handler5;
42+
>x : Symbol(x, Decl(unusedLocalsAndParametersTypeAliases.ts, 19, 3))
43+
>handler5 : Symbol(handler5, Decl(unusedLocalsAndParametersTypeAliases.ts, 17, 27))
44+
45+
x();
46+
>x : Symbol(x, Decl(unusedLocalsAndParametersTypeAliases.ts, 19, 3))
47+
48+
// used as type argument
49+
type handler6 = () => void;
50+
>handler6 : Symbol(handler6, Decl(unusedLocalsAndParametersTypeAliases.ts, 20, 4))
51+
52+
var y: Array<handler6>;
53+
>y : Symbol(y, Decl(unusedLocalsAndParametersTypeAliases.ts, 24, 3))
54+
>Array : Symbol(Array, Decl(lib.d.ts, --, --), Decl(lib.d.ts, --, --))
55+
>handler6 : Symbol(handler6, Decl(unusedLocalsAndParametersTypeAliases.ts, 20, 4))
56+
57+
y[0]();
58+
>y : Symbol(y, Decl(unusedLocalsAndParametersTypeAliases.ts, 24, 3))
59+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
=== tests/cases/compiler/unusedLocalsAndParametersTypeAliases.ts ===
2+
3+
// used in a declaration
4+
type handler1 = () => void;
5+
>handler1 : () => void
6+
7+
export interface I1 {
8+
>I1 : I1
9+
10+
getHandler: handler1;
11+
>getHandler : () => void
12+
>handler1 : () => void
13+
}
14+
15+
// exported
16+
export type handler2 = () => void;
17+
>handler2 : () => void
18+
19+
// used in extends clause
20+
type handler3 = () => void;
21+
>handler3 : () => void
22+
23+
export interface I3<T extends handler3> {
24+
>I3 : I3<T>
25+
>T : T
26+
>handler3 : () => void
27+
28+
getHandler: T;
29+
>getHandler : T
30+
>T : T
31+
}
32+
33+
// used in another type alias declaration
34+
type handler4 = () => void;
35+
>handler4 : () => void
36+
37+
type handler5 = handler4 | (()=>number);
38+
>handler5 : (() => void) | (() => number)
39+
>handler4 : () => void
40+
41+
var x: handler5;
42+
>x : (() => void) | (() => number)
43+
>handler5 : (() => void) | (() => number)
44+
45+
x();
46+
>x() : void | number
47+
>x : (() => void) | (() => number)
48+
49+
// used as type argument
50+
type handler6 = () => void;
51+
>handler6 : () => void
52+
53+
var y: Array<handler6>;
54+
>y : (() => void)[]
55+
>Array : T[]
56+
>handler6 : () => void
57+
58+
y[0]();
59+
>y[0]() : void
60+
>y[0] : () => void
61+
>y : (() => void)[]
62+
>0 : number
63+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(3,6): error TS6133: 'handler1' is declared but never used.
2+
tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts(7,10): error TS6133: 'handler2' is declared but never used.
3+
4+
5+
==== tests/cases/compiler/unusedLocalsAndParametersTypeAliases2.ts (2 errors) ====
6+
7+
// unused
8+
type handler1 = () => void;
9+
~~~~~~~~
10+
!!! error TS6133: 'handler1' is declared but never used.
11+
12+
13+
function foo() {
14+
type handler2 = () => void;
15+
~~~~~~~~
16+
!!! error TS6133: 'handler2' is declared but never used.
17+
foo();
18+
}
19+
20+
export {}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//// [unusedLocalsAndParametersTypeAliases2.ts]
2+
3+
// unused
4+
type handler1 = () => void;
5+
6+
7+
function foo() {
8+
type handler2 = () => void;
9+
foo();
10+
}
11+
12+
export {}
13+
14+
//// [unusedLocalsAndParametersTypeAliases2.js]
15+
"use strict";
16+
function foo() {
17+
foo();
18+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
//@noUnusedLocals:true
2+
//@noUnusedParameters:true
3+
4+
// used in a declaration
5+
type handler1 = () => void;
6+
export interface I1 {
7+
getHandler: handler1;
8+
}
9+
10+
// exported
11+
export type handler2 = () => void;
12+
13+
// used in extends clause
14+
type handler3 = () => void;
15+
export interface I3<T extends handler3> {
16+
getHandler: T;
17+
}
18+
19+
// used in another type alias declaration
20+
type handler4 = () => void;
21+
type handler5 = handler4 | (()=>number);
22+
var x: handler5;
23+
x();
24+
25+
// used as type argument
26+
type handler6 = () => void;
27+
var y: Array<handler6>;
28+
y[0]();
29+
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
//@noUnusedLocals:true
2+
//@noUnusedParameters:true
3+
4+
// unused
5+
type handler1 = () => void;
6+
7+
8+
function foo() {
9+
type handler2 = () => void;
10+
foo();
11+
}
12+
13+
export {}

0 commit comments

Comments
 (0)