add test for remove modifier and parameter

This commit is contained in:
Markus Wolf 2018-11-05 18:07:29 +01:00
parent 13e85ac3a9
commit 6bd298b884
No known key found for this signature in database
GPG Key ID: 46051C9BE153B7A5
2 changed files with 22 additions and 5 deletions

View File

@ -200,11 +200,10 @@ namespace ts.codefix {
function tryDeleteParameter(changes: textChanges.ChangeTracker, sourceFile: SourceFile, p: ParameterDeclaration, checker: TypeChecker, sourceFiles: ReadonlyArray<SourceFile>, isFixAll: boolean): void {
if (mayDeleteParameter(p, checker, isFixAll)) {
const modifiers: Modifier["kind"][] = [SyntaxKind.PrivateKeyword, SyntaxKind.ProtectedKeyword, SyntaxKind.PublicKeyword, SyntaxKind.ReadonlyKeyword];
const foundModifiers = modifiers.map(modifier => findModifier(p, modifier)).filter(modifier => modifier !== undefined);
if (foundModifiers.length > 0) {
foundModifiers.forEach(modifier => {
changes.deleteModifier(sourceFile, modifier!);
if (p.modifiers && p.modifiers.length > 0
&& (!isIdentifier(p.name) || FindAllReferences.Core.isSymbolReferencedInFile(p.name, checker, sourceFile))) {
p.modifiers.forEach(modifier => {
changes.deleteModifier(sourceFile, modifier);
});
}
else {

View File

@ -0,0 +1,18 @@
/// <reference path='fourslash.ts' />
// @noUnusedLocals: true
// @noUnusedParameters: true
////export class Example {
//// constructor(private readonly arg: any) {
//// }
////}
verify.codeFix({
description: "Remove declaration for: 'arg'",
newFileContent:
`export class Example {
constructor() {
}
}`,
});