Skip to content

Commit 72aec56

Browse files
committed
Use mapDefined and combine event name inputs
1 parent a373029 commit 72aec56

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/testRunner/unittests/tsserverProjectSystem.ts

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ namespace ts.projectSystem {
343343
return { session, events };
344344
}
345345

346-
function createSessionWithDefaultEventHandler<T extends protocol.AnyEvent>(host: TestServerHost, eventName: T["event"], opts: Partial<server.SessionOptions> = {}, ...eventNames: T["event"][]) {
346+
function createSessionWithDefaultEventHandler<T extends protocol.AnyEvent>(host: TestServerHost, eventNames: T["event"] | T["event"][], opts: Partial<server.SessionOptions> = {}) {
347347
const session = createSession(host, { canUseEvents: true, ...opts });
348348

349349
return {
@@ -354,15 +354,13 @@ namespace ts.projectSystem {
354354

355355
function getEvents() {
356356
const outputEventRegex = /Content\-Length: [\d]+\r\n\r\n/;
357-
return filter(
358-
map(
359-
host.getOutput(), s => convertToObject(
360-
parseJsonText("json.json", s.replace(outputEventRegex, "")),
361-
[]
362-
)
363-
),
364-
e => e.event === eventName || eventNames.some(eventName => e.event === eventName)
365-
) as T[];
357+
return mapDefined(host.getOutput(), s => {
358+
const e = convertToObject(
359+
parseJsonText("json.json", s.replace(outputEventRegex, "")),
360+
[]
361+
);
362+
return (isArray(eventNames) ? eventNames.some(eventName => e.event === eventName) : e.event === eventNames) ? e as T : undefined;
363+
});
366364
}
367365

368366
function clearEvents() {
@@ -9625,7 +9623,7 @@ export const x = 10;`
96259623

96269624
describe("when using default event handler", () => {
96279625
verifyProjectLoadingStartAndFinish(host => {
9628-
const { session, getEvents, clearEvents } = createSessionWithDefaultEventHandler<protocol.ProjectLoadingStartEvent | protocol.ProjectLoadingFinishEvent>(host, server.ProjectLoadingStartEvent, {}, server.ProjectLoadingFinishEvent);
9626+
const { session, getEvents, clearEvents } = createSessionWithDefaultEventHandler<protocol.ProjectLoadingStartEvent | protocol.ProjectLoadingFinishEvent>(host, [server.ProjectLoadingStartEvent, server.ProjectLoadingFinishEvent]);
96299627
return {
96309628
session,
96319629
getNumberOfEvents: () => getEvents().length,

0 commit comments

Comments
 (0)