Skip to content

Commit afbff9c

Browse files
author
Andy Hanson
committed
Revert change to verify.not.codeFixAvailable(), and use assertObjectsEqual for better errors
1 parent 042ce6e commit afbff9c

28 files changed

+32
-41
lines changed

src/harness/fourslash.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2997,18 +2997,11 @@ Actual: ${stringify(fullActual)}`);
29972997
}
29982998
}
29992999

3000-
public verifyCodeFixAvailable(info: FourSlashInterface.VerifyCodeFixAvailableOptions[]) {
3000+
public verifyCodeFixAvailable(negative: boolean, expected: FourSlashInterface.VerifyCodeFixAvailableOptions[]): void {
3001+
assert(!negative || !expected);
30013002
const codeFixes = this.getCodeFixes(this.activeFile.fileName);
3002-
assert.equal(info.length, codeFixes.length);
3003-
ts.zipWith(codeFixes, info, (fix, info) => {
3004-
assert.equal(fix.description, info.description);
3005-
this.assertObjectsEqual(fix.commands, info.commands);
3006-
for (const change of fix.changes) {
3007-
for (const textChange of change.textChanges) {
3008-
assert.deepEqual(Object.keys(textChange), ["span", "newText"], `Invalid textChange in codeFix: ${JSON.stringify(fix)}`);
3009-
}
3010-
}
3011-
});
3003+
const actuals = codeFixes.map((fix): FourSlashInterface.VerifyCodeFixAvailableOptions => ({ description: fix.description, commands: fix.commands }))
3004+
this.assertObjectsEqual(actuals, negative ? ts.emptyArray : expected);
30123005
}
30133006

30143007
public verifyApplicableRefactorAvailableAtMarker(negative: boolean, markerName: string) {
@@ -4094,7 +4087,7 @@ namespace FourSlashInterface {
40944087
}
40954088

40964089
public codeFixAvailable(options?: VerifyCodeFixAvailableOptions[]) {
4097-
this.state.verifyCodeFixAvailable(options);
4090+
this.state.verifyCodeFixAvailable(this.negative, options);
40984091
}
40994092

41004093
public applicableRefactorAvailableAtMarker(markerName: string) {

tests/cases/fourslash/codeFixAddMissingMember8.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
////declare var x: [1, 2];
55
////x.b;
66

7-
verify.codeFixAvailable([]);
7+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixAwaitInSyncFunction3.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
//// },
1010
////}
1111

12-
verify.codeFixAvailable([]);
12+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixAwaitInSyncFunction4.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
//// }
77
////}
88

9-
verify.codeFixAvailable([]);
9+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixAwaitShouldNotCrashIfNotInFunction.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
////await a
44

5-
verify.codeFixAvailable([]);
5+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixCannotFindModule_notIfMissing.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ test.setTypesRegistry({
88
});
99

1010
// We only give the fix for an implicit-any module, not for a missing module.
11-
verify.codeFixAvailable([]);
11+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassExtendAbstractPrivateProperty.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
// 2) Make x private, and then insert.
1313
// 3) Make x not abstract.
1414
// So we offer no fixes.
15-
verify.codeFixAvailable([]);
15+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementClassMemberAnonymousClass.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@
1010
//// }
1111
//// class C implements A {[| |]}
1212

13-
verify.codeFixAvailable([]);
13+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementInterfaceCallSignature.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
//// }
66
//// class C implements I {[| |]}
77

8-
verify.codeFixAvailable([]);
8+
verify.not.codeFixAvailable();
99

1010

tests/cases/fourslash/codeFixClassImplementInterfaceConstructSignature.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@
55
//// }
66
//// class C implements I {[| |]}
77

8-
verify.codeFixAvailable([]);
8+
verify.not.codeFixAvailable();
99

1010

tests/cases/fourslash/codeFixClassImplementInterfaceDuplicateMember2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
//// x: number;
1212
//// }
1313

14-
verify.codeFixAvailable([]);
14+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementInterfaceIndexSignaturesNoFix.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@
66
////
77
//// class C implements I {[| |]}
88

9-
verify.codeFixAvailable([]);
9+
verify.not.codeFixAvailable();
1010

1111

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleImplements1.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ verify.rangeAfterCodeFix(`
1515
x: number;
1616
`);
1717

18-
verify.codeFixAvailable([]);
18+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleImplements2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ verify.rangeAfterCodeFix(`
1515
y: "𣋝ઢȴ¬⏊";
1616
`);
1717

18-
verify.codeFixAvailable([]);
18+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementInterfaceMultipleImplementsIntersection2.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,4 @@
1111
//// x: string;
1212
//// }
1313

14-
verify.codeFixAvailable([]);
14+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassImplementInterfaceTypeParamInstantiation.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
////
77
//// class C implements I { }
88

9-
verify.codeFixAvailable([]);
9+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixClassSuperMustPrecedeThisAccess_callWithThisInside.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
//// }
1010
////}
1111

12-
verify.codeFixAvailable([]);
12+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixForgottenThisPropertyAccess04.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,4 @@
1010
//// }
1111
////}
1212

13-
14-
verify.codeFixAvailable([]);
13+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixInferFromUsageInaccessibleTypes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@
1717
////}
1818
////
1919

20-
verify.codeFixAvailable([]);
20+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixInferFromUsageSetterWithInaccessibleType.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@
1313
////}
1414

1515
goTo.file("/b.ts");
16-
verify.codeFixAvailable([]);
16+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixInferFromUsage_noCrashOnMissingParens.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
////}
1010

1111
// Just testing that we don't crash in `insertTypeAnnotation` from inferFromUsage
12-
verify.codeFixAvailable([]);
12+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixNegativeReplaceQualifiedNameWithIndexedAccessType01.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
//// }
99
//// const x: [|Container.Foo.bar|] = ""
1010

11-
verify.codeFixAvailable([]);
11+
verify.not.codeFixAvailable();

tests/cases/fourslash/codeFixUndeclaredPropertyAccesses.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@
1414
//// let t: T<number>;
1515
//// t.x;
1616

17-
verify.codeFixAvailable([]);
17+
verify.not.codeFixAvailable();

tests/cases/fourslash/importNameCodeFixNewImportExportEqualsPrimitive.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
////declare var x: number;
77
////export = x;
88

9-
verify.codeFixAvailable([]); // See GH#20191
9+
verify.not.codeFixAvailable(); // See GH#20191

tests/cases/fourslash/importNameCodeFixNewImportNodeModules5.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@
1919
//// }
2020

2121
// No fix because this accesses a nested node_modules
22-
verify.codeFixAvailable([]);
22+
verify.not.codeFixAvailable();

tests/cases/fourslash/incompleteFunctionCallCodefix.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@
66
////}
77
////f(
88

9-
verify.codeFixAvailable([]);
9+
verify.not.codeFixAvailable();

tests/cases/fourslash/incompleteFunctionCallCodefix3.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@
33
// @noImplicitAny: true
44
//// function ...q) {}} f(10);
55

6-
verify.codeFixAvailable([]);
7-
6+
verify.not.codeFixAvailable();

tests/cases/fourslash/typeToStringCrashInCodeFix.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
// @noImplicitAny: true
44
//// function f(y, z = { p: y[
55

6-
verify.codeFixAvailable([]);
6+
verify.not.codeFixAvailable();

0 commit comments

Comments
 (0)