Skip to content

Commit 29e93c3

Browse files
committed
Update the test cases for project changed event since it doesnt apply to the edits to open files
1 parent c8e711c commit 29e93c3

File tree

1 file changed

+23
-18
lines changed

1 file changed

+23
-18
lines changed

src/harness/unittests/tsserverProjectSystem.ts

Lines changed: 23 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4953,18 +4953,23 @@ namespace ts.projectSystem {
49534953
}
49544954

49554955
function verifyProjectChangedEvent(filesToEmit: FileOrFolder[], filesToReload?: FileOrFolder[], additionalChangedFiles?: FileOrFolder[]) {
4956-
const changedFiles = mapDefined(additionalChangedFiles ? filesToEmit.concat(additionalChangedFiles) : filesToEmit, f => f !== configFile ? f.path : undefined);
49574956
host.reloadFS(filesToReload || files);
49584957
host.runQueuedTimeoutCallbacks();
4959-
const project = projectService.configuredProjects.get(configFile.path);
4960-
verifyProjectChangedEventHandler([{
4961-
eventName: server.ProjectChangedEvent,
4962-
data: {
4963-
project,
4964-
changedFiles,
4965-
filesToEmit: mapDefined(filesToEmit, f => f !== libFile && f !== configFile ? f.path : undefined)
4966-
}
4967-
}]);
4958+
if (filesToEmit.length) {
4959+
const project = projectService.configuredProjects.get(configFile.path);
4960+
const changedFiles = mapDefined(additionalChangedFiles ? filesToEmit.concat(additionalChangedFiles) : filesToEmit, f => f !== configFile ? f.path : undefined);
4961+
verifyProjectChangedEventHandler([{
4962+
eventName: server.ProjectChangedEvent,
4963+
data: {
4964+
project,
4965+
changedFiles,
4966+
filesToEmit: mapDefined(filesToEmit, f => f !== libFile && f !== configFile ? f.path : undefined)
4967+
}
4968+
}]);
4969+
}
4970+
else {
4971+
verifyProjectChangedEventHandler([]);
4972+
}
49684973
}
49694974

49704975
function updateContentOfOpenFile(file: FileOrFolder, newContent: string) {
@@ -5000,15 +5005,15 @@ namespace ts.projectSystem {
50005005

50015006
// Change file1Consumer1 content to `export let y = Foo();`
50025007
updateContentOfOpenFile(file1Consumer1, "export let y = Foo();");
5003-
verifyProjectChangedEvent([file1Consumer1]);
5008+
verifyProjectChangedEvent([]);
50045009

50055010
// Change the content of moduleFile1 to `export var T: number;export function Foo() { };`
50065011
moduleFile1.content = `export var T: number;export function Foo() { };`;
5007-
verifyProjectChangedEvent([moduleFile1, file1Consumer2]);
5012+
verifyProjectChangedEvent([moduleFile1, file1Consumer2, file1Consumer1]);
50085013

50095014
// Add the import statements back to file1Consumer1
50105015
updateContentOfOpenFile(file1Consumer1, `import {Foo} from "./moduleFile1";let y = Foo();`);
5011-
verifyProjectChangedEvent([file1Consumer1]);
5016+
verifyProjectChangedEvent([]);
50125017

50135018
// Change the content of moduleFile1 to `export var T: number;export var T2: string;export function Foo() { };`
50145019
moduleFile1.content = `export var T: number;export var T2: string;export function Foo() { };`;
@@ -5095,11 +5100,11 @@ namespace ts.projectSystem {
50955100
});
50965101

50975102
updateContentOfOpenFile(file1Consumer1, file1Consumer1.content + "export var T: number;");
5098-
verifyProjectChangedEvent([file1Consumer1, file1Consumer1Consumer1]);
5103+
verifyProjectChangedEvent([]);
50995104

51005105
// Doesnt change the shape of file1Consumer1
51015106
moduleFile1.content = `export var T: number;export function Foo() { };`;
5102-
verifyProjectChangedEvent([moduleFile1, file1Consumer1, file1Consumer2]);
5107+
verifyProjectChangedEvent([moduleFile1, file1Consumer1, file1Consumer2, file1Consumer1Consumer1]);
51035108

51045109
// Change both files before the timeout
51055110
updateContentOfOpenFile(file1Consumer1, file1Consumer1.content + "export var T2: number;");
@@ -5120,12 +5125,12 @@ namespace ts.projectSystem {
51205125
/// <reference path="./file1.ts" />
51215126
export var t2 = 10;`
51225127
};
5123-
const { configFile, verifyProjectChangedEvent, updateContentOfOpenFile } = getInitialState({
5128+
const { configFile, verifyProjectChangedEvent } = getInitialState({
51245129
getAdditionalFileOrFolder: () => [file1, file2],
51255130
firstReloadFileList: [file1.path, libFile.path, file2.path, configFilePath]
51265131
});
51275132

5128-
updateContentOfOpenFile(file1, file1.content + "export var t3 = 10;");
5133+
file2.content += "export var t3 = 10;";
51295134
verifyProjectChangedEvent([file1, file2], [file1, file2, libFile, configFile]);
51305135
});
51315136

@@ -5157,7 +5162,7 @@ namespace ts.projectSystem {
51575162
});
51585163

51595164
updateContentOfOpenFile(referenceFile1, referenceFile1.content + "export var yy = Foo();");
5160-
verifyProjectChangedEvent([referenceFile1], [libFile, referenceFile1, configFile]);
5165+
verifyProjectChangedEvent([], [libFile, referenceFile1, configFile]);
51615166

51625167
// Create module File2 and see both files are saved
51635168
verifyProjectChangedEvent([referenceFile1, moduleFile2], [libFile, moduleFile2, referenceFile1, configFile]);

0 commit comments

Comments
 (0)