TypeScript/tests/cases/fourslash/importNameCodeFixNewImportExportEqualsCommonJSInteropOn.ts
Andrew Branch cf33f7bff6
Don’t use 'import =' for auto-import when esModuleInterop is on unless it’s already been done (#36475)
* Revisit esModuleInterop import kind priority yet again

* Test was wholly redundant

* Check for precedent is simpler now
2020-01-28 11:05:04 -08:00

53 lines
1 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <reference path="fourslash.ts" />
// @Module: commonjs
// @EsModuleInterop: true
// @Filename: /foo.d.ts
////declare module "bar" {
//// const bar: number;
//// export = bar;
////}
////declare module "foo" {
//// const foo: number;
//// export = foo;
////}
////declare module "es" {
//// const es = 0;
//// export default es;
////}
// @Filename: /a.ts
////import bar = require("bar");
////
////foo
// @Filename: /b.ts
////foo
// @Filename: /c.ts
////import es from "es";
////import bar = require("bar");
////
////foo
// 1. Should match existing imports of 'export ='
goTo.file('/a.ts');
verify.importFixAtPosition([`import bar = require("bar");
import foo = require("foo");
foo`]);
// 2. Should default to default import
goTo.file('/b.ts');
verify.importFixAtPosition([`import foo from "foo";
foo`]);
// 3. Importing an 'export default' doesnt count toward the usage heursitic
goTo.file('/c.ts');
verify.importFixAtPosition([`import es from "es";
import bar = require("bar");
import foo = require("foo");
foo`]);