Skip to content

Commit 69e5abd

Browse files
committed
Refactor watched system from tsserver tests so that tscLib watch can leverage it
1 parent 85b9254 commit 69e5abd

8 files changed

Lines changed: 517 additions & 500 deletions

File tree

src/harness/harness.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -753,6 +753,10 @@ namespace Harness {
753753
}
754754
}
755755

756+
export function mockHash(s: string): string {
757+
return `hash-${s}`;
758+
}
759+
756760
const environment = Utils.getExecutionEnvironment();
757761
switch (environment) {
758762
case Utils.ExecutionEnvironment.Node:

src/harness/harnessLanguageService.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -853,8 +853,4 @@ namespace Harness.LanguageService {
853853
getClassifier(): ts.Classifier { throw new Error("getClassifier is not available using the server interface."); }
854854
getPreProcessedFileInfo(): ts.PreProcessedFileInfo { throw new Error("getPreProcessedFileInfo is not available using the server interface."); }
855855
}
856-
857-
export function mockHash(s: string): string {
858-
return `hash-${s}`;
859-
}
860856
}

src/harness/tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{
1+
{
22
"extends": "../tsconfig-base",
33
"compilerOptions": {
44
"removeComments": false,
@@ -44,6 +44,7 @@
4444
"../compiler/declarationEmitter.ts",
4545
"../compiler/emitter.ts",
4646
"../compiler/program.ts",
47+
"../compiler/builder.ts",
4748
"../compiler/commandLineParser.ts",
4849
"../compiler/diagnosticInformationMap.generated.ts",
4950
"../services/breakpoints.ts",

src/harness/unittests/cachingInServerLSHost.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ namespace ts {
4747
clearTimeout,
4848
setImmediate: typeof setImmediate !== "undefined" ? setImmediate : action => setTimeout(action, 0),
4949
clearImmediate: typeof clearImmediate !== "undefined" ? clearImmediate : clearTimeout,
50-
createHash: Harness.LanguageService.mockHash,
50+
createHash: Harness.mockHash,
5151
};
5252
}
5353

src/harness/unittests/session.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ namespace ts.server {
2525
clearTimeout: noop,
2626
setImmediate: () => 0,
2727
clearImmediate: noop,
28-
createHash: Harness.LanguageService.mockHash,
28+
createHash: Harness.mockHash,
2929
};
3030

3131
const mockLogger: Logger = {

src/harness/unittests/telemetry.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ namespace ts.projectSystem {
5353

5454
// TODO: Apparently compilerOptions is mutated, so have to repeat it here!
5555
et.assertProjectInfoTelemetryEvent({
56-
projectId: Harness.LanguageService.mockHash("/hunter2/foo.csproj"),
56+
projectId: Harness.mockHash("/hunter2/foo.csproj"),
5757
compilerOptions: { strict: true },
5858
compileOnSave: true,
5959
// These properties can't be present for an external project, so they are undefined instead of false.
@@ -195,7 +195,7 @@ namespace ts.projectSystem {
195195
const et = new EventTracker([jsconfig, file]);
196196
et.service.openClientFile(file.path);
197197
et.assertProjectInfoTelemetryEvent({
198-
projectId: Harness.LanguageService.mockHash("/jsconfig.json"),
198+
projectId: Harness.mockHash("/jsconfig.json"),
199199
fileStats: fileStats({ js: 1 }),
200200
compilerOptions: autoJsCompilerOptions,
201201
typeAcquisition: {
@@ -215,7 +215,7 @@ namespace ts.projectSystem {
215215
et.service.openClientFile(file.path);
216216
et.getEvent<server.ProjectLanguageServiceStateEvent>(server.ProjectLanguageServiceStateEvent, /*mayBeMore*/ true);
217217
et.assertProjectInfoTelemetryEvent({
218-
projectId: Harness.LanguageService.mockHash("/jsconfig.json"),
218+
projectId: Harness.mockHash("/jsconfig.json"),
219219
fileStats: fileStats({ js: 1 }),
220220
compilerOptions: autoJsCompilerOptions,
221221
configFileName: "jsconfig.json",
@@ -251,7 +251,7 @@ namespace ts.projectSystem {
251251

252252
assertProjectInfoTelemetryEvent(partial: Partial<server.ProjectInfoTelemetryEventData>): void {
253253
assert.deepEqual(this.getEvent<server.ProjectInfoTelemetryEvent>(ts.server.ProjectInfoTelemetryEvent), {
254-
projectId: Harness.LanguageService.mockHash("/tsconfig.json"),
254+
projectId: Harness.mockHash("/tsconfig.json"),
255255
fileStats: fileStats({ ts: 1 }),
256256
compilerOptions: {},
257257
extends: false,

0 commit comments

Comments
 (0)