Add type parameter scope tests (babel/babel-eslint#454)
This commit is contained in:
parent
e8b91f8862
commit
2ca65d5451
@ -250,6 +250,21 @@ describe("verify", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter scope (classes)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
T;
|
||||
class Foo<T> {}
|
||||
T;
|
||||
new Foo();
|
||||
`),
|
||||
{ "no-unused-vars": 1, "no-undef": 1 },
|
||||
[ "1:1 'T' is not defined. no-undef",
|
||||
"2:11 'T' is defined but never used. no-unused-vars",
|
||||
"3:1 'T' is not defined. no-undef" ]
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter bounds (interfaces)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
@ -264,6 +279,21 @@ describe("verify", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter scope (interfaces)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
T;
|
||||
interface Foo<T> {};
|
||||
T;
|
||||
Foo;
|
||||
`),
|
||||
{ "no-unused-vars": 1, "no-undef": 1 },
|
||||
[ "1:1 'T' is not defined. no-undef",
|
||||
"2:15 'T' is defined but never used. no-unused-vars",
|
||||
"3:1 'T' is not defined. no-undef" ]
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter bounds (type aliases)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
@ -279,6 +309,21 @@ describe("verify", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter scope (type aliases)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
T;
|
||||
type Foo<T> = {};
|
||||
T;
|
||||
Foo;
|
||||
`),
|
||||
{ "no-unused-vars": 1, "no-undef": 1 },
|
||||
[ "1:1 'T' is not defined. no-undef",
|
||||
"2:10 'T' is defined but never used. no-unused-vars",
|
||||
"3:1 'T' is not defined. no-undef" ]
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter bounds (functions)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
@ -292,6 +337,21 @@ describe("verify", () => {
|
||||
);
|
||||
});
|
||||
|
||||
it("type parameter scope (functions)", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
T;
|
||||
function log<T>() {}
|
||||
T;
|
||||
log;
|
||||
`),
|
||||
{ "no-unused-vars": 1, "no-undef": 1 },
|
||||
[ "1:1 'T' is not defined. no-undef",
|
||||
"2:14 'T' is defined but never used. no-unused-vars",
|
||||
"3:1 'T' is not defined. no-undef" ]
|
||||
);
|
||||
});
|
||||
|
||||
it("nested type annotations", () => {
|
||||
verifyAndAssertMessages(
|
||||
unpad(`
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user