mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-08 18:11:45 -06:00
Added tests, pr feedback
This commit is contained in:
parent
e3b6df64b3
commit
09487b8a1d
@ -439,18 +439,19 @@ namespace ts.codefix {
|
||||
|
||||
function getSingleQuoteStyleFromExistingImports() {
|
||||
const firstModuleSpecifier = forEach(sourceFile.statements, node => {
|
||||
switch (node.kind) {
|
||||
case SyntaxKind.ImportDeclaration:
|
||||
return (<ImportDeclaration>node).moduleSpecifier;
|
||||
case SyntaxKind.ImportEqualsDeclaration:
|
||||
const moduleReference = (<ImportEqualsDeclaration>node).moduleReference;
|
||||
return moduleReference.kind === SyntaxKind.ExternalModuleReference ? moduleReference.expression : undefined;
|
||||
case SyntaxKind.ExportDeclaration:
|
||||
return (<ExportDeclaration>node).moduleSpecifier;
|
||||
if (isImportDeclaration(node) || isExportDeclaration(node)) {
|
||||
if (node.moduleSpecifier && isStringLiteral(node.moduleSpecifier)) {
|
||||
return node.moduleSpecifier;
|
||||
}
|
||||
}
|
||||
else if (isImportEqualsDeclaration(node)) {
|
||||
if (isExternalModuleReference(node.moduleReference) && isStringLiteral(node.moduleReference.expression)) {
|
||||
return node.moduleReference.expression;
|
||||
}
|
||||
}
|
||||
});
|
||||
if (firstModuleSpecifier && isStringLiteral(firstModuleSpecifier)) {
|
||||
return sourceFile.text.charCodeAt(skipTrivia(sourceFile.text, firstModuleSpecifier.pos)) === CharacterCodes.singleQuote;
|
||||
if (firstModuleSpecifier) {
|
||||
return sourceFile.text.charCodeAt(firstModuleSpecifier.getStart()) === CharacterCodes.singleQuote;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -4,16 +4,15 @@
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module.ts
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
//// export var v1 = 5;
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import { v2 } from './module2';
|
||||
import { f1 } from './module';
|
||||
import { f1 } from './module1';
|
||||
|
||||
f1();`
|
||||
]);
|
||||
@ -0,0 +1,18 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// [|import { v2 } from "./module2";
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import { v2 } from "./module2";
|
||||
import { f1 } from "./module1";
|
||||
|
||||
f1();`
|
||||
]);
|
||||
@ -0,0 +1,18 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// [|import m2 = require('./module2');
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import m2 = require('./module2');
|
||||
import { f1 } from './module1';
|
||||
|
||||
f1();`
|
||||
]);
|
||||
@ -0,0 +1,19 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// [|export { v2 } from './module2';
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import { f1 } from './module1';
|
||||
|
||||
export { v2 } from './module2';
|
||||
|
||||
f1();`
|
||||
]);
|
||||
@ -0,0 +1,23 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// [|import { v2 } from "./module2";
|
||||
//// import { v3 } from './module3';
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
// @Filename: module3.ts
|
||||
//// export var v3 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import { v2 } from "./module2";
|
||||
import { v3 } from './module3';
|
||||
import { f1 } from "./module1";
|
||||
|
||||
f1();`
|
||||
]);
|
||||
@ -0,0 +1,23 @@
|
||||
/// <reference path="fourslash.ts" />
|
||||
|
||||
//// [|import { v2 } from './module2';
|
||||
//// import { v3 } from "./module3";
|
||||
////
|
||||
//// f1/*0*/();|]
|
||||
|
||||
// @Filename: module1.ts
|
||||
//// export function f1() {}
|
||||
|
||||
// @Filename: module2.ts
|
||||
//// export var v2 = 6;
|
||||
|
||||
// @Filename: module3.ts
|
||||
//// export var v3 = 6;
|
||||
|
||||
verify.importFixAtPosition([
|
||||
`import { v2 } from './module2';
|
||||
import { v3 } from "./module3";
|
||||
import { f1 } from './module1';
|
||||
|
||||
f1();`
|
||||
]);
|
||||
Loading…
x
Reference in New Issue
Block a user