Skip to content

Commit 77c6dde

Browse files
committed
[node] adds "type" to test runner event details
In [version 20.0.0 (and backported to 19.9.0 and 18.7.0)](nodejs/node#47094) the test runner started reporting on whether a test was a suite. This was exposed to reporters in the `details` object of a `test:pass` or `test:fail` event but this hasn't been documented. This adds the `type` property to both event's `details` object.
1 parent 0c7f509 commit 77c6dde

File tree

8 files changed

+52
-8
lines changed

8 files changed

+52
-8
lines changed

types/node/test.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1223,6 +1223,11 @@ interface TestFail {
12231223
* The error thrown by the test.
12241224
*/
12251225
error: Error;
1226+
/**
1227+
* The type of the test, used to denote whether this is a suite.
1228+
* @since: 20.0.0, 19.9.0, 18.17.0
1229+
*/
1230+
type?: 'suite';
12261231
};
12271232
/**
12281233
* The test name.
@@ -1258,6 +1263,11 @@ interface TestPass {
12581263
* The duration of the test in milliseconds.
12591264
*/
12601265
duration_ms: number;
1266+
/**
1267+
* The type of the test, used to denote whether this is a suite.
1268+
* @since: 20.0.0, 19.9.0, 18.17.0
1269+
*/
1270+
type?: 'suite';
12611271
};
12621272
/**
12631273
* The test name.

types/node/test/test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -668,14 +668,15 @@ class TestReporter extends Transform {
668668
case 'test:fail':
669669
callback(
670670
null,
671-
`${event.data.name}/${event.data.details.duration_ms}/
671+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
672672
${event.data.details.error}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
673673
);
674674
break;
675675
case 'test:pass':
676676
callback(
677677
null,
678-
`${event.data.name}/${event.data.details.duration_ms}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
678+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
679+
${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
679680
);
680681
break;
681682
case 'test:plan':

types/node/ts4.8/test.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1205,6 +1205,11 @@ interface TestFail {
12051205
* The error thrown by the test.
12061206
*/
12071207
error: Error;
1208+
/**
1209+
* The type of the test, used to denote whether this is a suite.
1210+
* @since: 20.0.0, 19.9.0, 18.17.0
1211+
*/
1212+
type?: 'suite';
12081213
};
12091214
/**
12101215
* The test name.
@@ -1240,6 +1245,11 @@ interface TestPass {
12401245
* The duration of the test in milliseconds.
12411246
*/
12421247
duration_ms: number;
1248+
/**
1249+
* The type of the test, used to denote whether this is a suite.
1250+
* @since: 20.0.0, 19.9.0, 18.17.0
1251+
*/
1252+
type?: 'suite';
12431253
};
12441254
/**
12451255
* The test name.

types/node/ts4.8/test/test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -638,14 +638,15 @@ class TestReporter extends Transform {
638638
case 'test:fail':
639639
callback(
640640
null,
641-
`${event.data.name}/${event.data.details.duration_ms}/
641+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
642642
${event.data.details.error}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
643643
);
644644
break;
645645
case 'test:pass':
646646
callback(
647647
null,
648-
`${event.data.name}/${event.data.details.duration_ms}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
648+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
649+
${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
649650
);
650651
break;
651652
case 'test:plan':

types/node/v18/test.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,11 @@ interface TestFail {
742742
* The error thrown by the test.
743743
*/
744744
error: Error;
745+
/**
746+
* The type of the test, used to denote whether this is a suite.
747+
* @since: 18.17.0
748+
*/
749+
type?: 'suite';
745750
};
746751
/**
747752
* The test name.
@@ -777,6 +782,11 @@ interface TestPass {
777782
* The duration of the test in milliseconds.
778783
*/
779784
duration_ms: number;
785+
/**
786+
* The type of the test, used to denote whether this is a suite.
787+
* @since: 18.17.0
788+
*/
789+
type?: 'suite';
780790
};
781791
/**
782792
* The test name.

types/node/v18/test/test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,14 +548,15 @@ class TestReporter extends Transform {
548548
case 'test:fail':
549549
callback(
550550
null,
551-
`${event.data.name}/${event.data.details.duration_ms}/
551+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
552552
${event.data.details.error}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
553553
);
554554
break;
555555
case 'test:pass':
556556
callback(
557557
null,
558-
`${event.data.name}/${event.data.details.duration_ms}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
558+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
559+
${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
559560
);
560561
break;
561562
case 'test:plan':

types/node/v18/ts4.8/test.d.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -742,6 +742,11 @@ interface TestFail {
742742
* The error thrown by the test.
743743
*/
744744
error: Error;
745+
/**
746+
* The type of the test, used to denote whether this is a suite.
747+
* @since: 18.17.0
748+
*/
749+
type?: 'suite';
745750
};
746751
/**
747752
* The test name.
@@ -777,6 +782,11 @@ interface TestPass {
777782
* The duration of the test in milliseconds.
778783
*/
779784
duration_ms: number;
785+
/**
786+
* The type of the test, used to denote whether this is a suite.
787+
* @since: 18.17.0
788+
*/
789+
type?: 'suite';
780790
};
781791
/**
782792
* The test name.

types/node/v18/ts4.8/test/test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,14 +548,15 @@ class TestReporter extends Transform {
548548
case 'test:fail':
549549
callback(
550550
null,
551-
`${event.data.name}/${event.data.details.duration_ms}/
551+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
552552
${event.data.details.error}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
553553
);
554554
break;
555555
case 'test:pass':
556556
callback(
557557
null,
558-
`${event.data.name}/${event.data.details.duration_ms}/${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
558+
`${event.data.name}/${event.data.details.duration_ms}/${event.data.details.type}/
559+
${event.data.nesting}/${event.data.testNumber}/${event.data.todo}/${event.data.skip}/${event.data.file}`,
559560
);
560561
break;
561562
case 'test:plan':

0 commit comments

Comments
 (0)