Added tests, pr feedback

This commit is contained in:
Ron Buckton 2017-08-11 15:31:09 -07:00
parent e3b6df64b3
commit 09487b8a1d
7 changed files with 114 additions and 13 deletions

View File

@ -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;
}
}

View File

@ -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();`
]);

View File

@ -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();`
]);

View File

@ -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();`
]);

View File

@ -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();`
]);

View File

@ -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();`
]);

View File

@ -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();`
]);