Skip to content

Commit f10831b

Browse files
committed
State change -> event
1 parent e15de69 commit f10831b

File tree

4 files changed

+11
-50
lines changed

4 files changed

+11
-50
lines changed

entrypoints/internal.d.mts

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,7 @@
11
import type {StateChangeEvent} from '../types/state-change-events.d.cts';
22

3-
export type RunEvent = {
4-
type: 'stateChange';
5-
stateChange: StateChangeEvent;
6-
} | {
7-
type: 'run';
8-
plan: {
9-
bailWithoutReporting: boolean;
10-
debug: boolean;
11-
failFastEnabled: boolean;
12-
filePathPrefix: string;
13-
files: string[];
14-
matching: boolean;
15-
previousFailures: number;
16-
runOnlyExclusive: boolean;
17-
firstRun: boolean;
18-
};
19-
};
20-
21-
export type {StateChangeEvent} from '../types/state-change-events.d.cts';
3+
export type Event = StateChangeEvent;
224

235
export type ObservedRun = {
24-
events: AsyncIterableIterator<RunEvent>;
6+
events: AsyncIterableIterator<Event>;
257
};

lib/api-event-iterator.js

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,9 @@ import {on} from 'node:events';
22

33
export async function * asyncEventIteratorFromApi(api) {
44
for await (const [plan] of on(api, 'run')) {
5-
yield {
6-
type: 'run',
7-
plan,
8-
};
95

106
for await (const [stateChange] of on(plan.status, 'stateChange')) {
11-
yield {
12-
type: 'stateChange',
13-
stateChange,
14-
};
15-
16-
if (stateChange.type === 'end') {
17-
break;
18-
}
7+
yield stateChange;
198
}
209
}
2110
}

test/internal-events/fixtures/ava.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export default {
1313
for await (const event of run.events) {
1414
internalEvents.push(event);
1515

16-
if (event.type === 'stateChange' && event.stateChange.type === 'end') {
16+
if (event.type === 'end') {
1717
await fs.writeFile('internal-events.json', JSON.stringify(internalEvents));
1818
}
1919
}

test/internal-events/test.js

Lines changed: 7 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,18 @@ test('internal events are emitted', async t => {
1111
const result = JSON.parse(await fs.readFile(fileURLToPath(new URL('fixtures/internal-events.json', import.meta.url))));
1212

1313
t.like(result[0], {
14-
type: 'run',
15-
plan: {
16-
files: [
17-
fileURLToPath(new URL('fixtures/test.js', import.meta.url)),
18-
],
19-
},
14+
type: 'starting',
15+
testFile: fileURLToPath(new URL('fixtures/test.js', import.meta.url)),
2016
});
2117

22-
const testPassedEvent = result.find(event => event.type === 'stateChange' && event.stateChange.type === 'test-passed');
18+
const testPassedEvent = result.find(event => event.type === 'test-passed');
2319
t.like(testPassedEvent, {
24-
type: 'stateChange',
25-
stateChange: {
26-
type: 'test-passed',
27-
title: 'placeholder',
28-
testFile: fileURLToPath(new URL('fixtures/test.js', import.meta.url)),
29-
},
20+
type: 'test-passed',
21+
title: 'placeholder',
22+
testFile: fileURLToPath(new URL('fixtures/test.js', import.meta.url)),
3023
});
3124

3225
t.like(result[result.length - 1], {
33-
type: 'stateChange',
34-
stateChange: {
35-
type: 'end',
36-
},
26+
type: 'end',
3727
});
3828
});

0 commit comments

Comments
 (0)