From f635042255fd4e11b46e5fd38872d7c5b0e9c9ef Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders Date: Thu, 6 Apr 2017 09:02:18 -0700 Subject: [PATCH] Improve test and comments Test asserts that unused locals error works for untyped modules. Comment no longer claims to check for untyped modules. --- src/compiler/utilities.ts | 2 +- .../reference/extendsUntypedModule.errors.txt | 18 ++++++++++++++++++ .../reference/extendsUntypedModule.js | 7 ++++++- .../reference/extendsUntypedModule.symbols | 8 -------- .../reference/extendsUntypedModule.types | 8 -------- tests/cases/compiler/extendsUntypedModule.ts | 7 ++++++- 6 files changed, 31 insertions(+), 19 deletions(-) create mode 100644 tests/baselines/reference/extendsUntypedModule.errors.txt delete mode 100644 tests/baselines/reference/extendsUntypedModule.symbols delete mode 100644 tests/baselines/reference/extendsUntypedModule.types diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b79ca0df144..da05ef2947e 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -438,7 +438,7 @@ namespace ts { ((node).name.kind === SyntaxKind.StringLiteral || isGlobalScopeAugmentation(node)); } - /** Given a symbol for a module, checks that it is either an untyped import or a shorthand ambient module. */ + /** Given a symbol for a module, checks that it is a shorthand ambient module. */ export function isShorthandAmbientModuleSymbol(moduleSymbol: Symbol): boolean { return isShorthandAmbientModule(moduleSymbol.valueDeclaration); } diff --git a/tests/baselines/reference/extendsUntypedModule.errors.txt b/tests/baselines/reference/extendsUntypedModule.errors.txt new file mode 100644 index 00000000000..4667f16b74a --- /dev/null +++ b/tests/baselines/reference/extendsUntypedModule.errors.txt @@ -0,0 +1,18 @@ +/a.ts(2,8): error TS6133: 'Bar' is declared but never used. + + +==== /a.ts (1 errors) ==== + import Foo from "foo"; + import Bar from "bar"; // error: unused + ~~~ +!!! error TS6133: 'Bar' is declared but never used. + export class A extends Foo { } + +==== /node_modules/foo/index.js (0 errors) ==== + // Test that extending an untyped module is an error, unlike extending unknownSymbol. + + This file is not read. + +==== /node_modules/bar/index.js (0 errors) ==== + Nor is this one. + \ No newline at end of file diff --git a/tests/baselines/reference/extendsUntypedModule.js b/tests/baselines/reference/extendsUntypedModule.js index f86ded7e6cb..5ccd7babe98 100644 --- a/tests/baselines/reference/extendsUntypedModule.js +++ b/tests/baselines/reference/extendsUntypedModule.js @@ -5,9 +5,13 @@ This file is not read. +//// [index.js] +Nor is this one. + //// [a.ts] import Foo from "foo"; -class A extends Foo { } +import Bar from "bar"; // error: unused +export class A extends Foo { } //// [a.js] @@ -31,3 +35,4 @@ var A = (function (_super) { } return A; }(foo_1["default"])); +exports.A = A; diff --git a/tests/baselines/reference/extendsUntypedModule.symbols b/tests/baselines/reference/extendsUntypedModule.symbols deleted file mode 100644 index 9036963d7d3..00000000000 --- a/tests/baselines/reference/extendsUntypedModule.symbols +++ /dev/null @@ -1,8 +0,0 @@ -=== /a.ts === -import Foo from "foo"; ->Foo : Symbol(Foo, Decl(a.ts, 0, 6)) - -class A extends Foo { } ->A : Symbol(A, Decl(a.ts, 0, 22)) ->Foo : Symbol(Foo, Decl(a.ts, 0, 6)) - diff --git a/tests/baselines/reference/extendsUntypedModule.types b/tests/baselines/reference/extendsUntypedModule.types deleted file mode 100644 index 50fa8b821b3..00000000000 --- a/tests/baselines/reference/extendsUntypedModule.types +++ /dev/null @@ -1,8 +0,0 @@ -=== /a.ts === -import Foo from "foo"; ->Foo : any - -class A extends Foo { } ->A : A ->Foo : any - diff --git a/tests/cases/compiler/extendsUntypedModule.ts b/tests/cases/compiler/extendsUntypedModule.ts index 8eaf6b3833a..0ebd9d0f72c 100644 --- a/tests/cases/compiler/extendsUntypedModule.ts +++ b/tests/cases/compiler/extendsUntypedModule.ts @@ -1,9 +1,14 @@ // Test that extending an untyped module is an error, unlike extending unknownSymbol. // @noImplicitReferences: true +// @noUnusedLocals: true // @Filename: /node_modules/foo/index.js This file is not read. +// @Filename: /node_modules/bar/index.js +Nor is this one. + // @Filename: /a.ts import Foo from "foo"; -class A extends Foo { } +import Bar from "bar"; // error: unused +export class A extends Foo { }