mirror of
https://github.com/dorny/test-reporter.git
synced 2025-12-16 06:17:10 +01:00
Add type definitions for dart-json
This commit is contained in:
parent
be4cb45afb
commit
cb5a347172
1 changed files with 129 additions and 0 deletions
129
src/parsers/dart-json/dart-json-types.ts
Normal file
129
src/parsers/dart-json/dart-json-types.ts
Normal file
|
|
@ -0,0 +1,129 @@
|
||||||
|
/// reflects documentation at https://github.com/dart-lang/test/blob/master/pkgs/test/doc/json_reporter.md
|
||||||
|
|
||||||
|
export type ReportEvent =
|
||||||
|
| StartEvent
|
||||||
|
| AllSuitesEvent
|
||||||
|
| SuiteEvent
|
||||||
|
| DebugEvent
|
||||||
|
| GroupEvent
|
||||||
|
| TestStartEvent
|
||||||
|
| TestDoneEvent
|
||||||
|
| DoneEvent
|
||||||
|
| MessageEvent
|
||||||
|
| ErrorEvent
|
||||||
|
|
||||||
|
export interface Event {
|
||||||
|
type: 'start' | 'allSuites' | 'suite' | 'debug' | 'group' | 'testStart' | 'print' | 'error' | 'testDone' | 'done'
|
||||||
|
time: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface StartEvent extends Event {
|
||||||
|
type: 'start'
|
||||||
|
protocolVersion: string
|
||||||
|
runnerVersion: string
|
||||||
|
pid: number
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface AllSuitesEvent extends Event {
|
||||||
|
type: 'allSuites'
|
||||||
|
count: number // The total number of suites that will be loaded.
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SuiteEvent extends Event {
|
||||||
|
type: 'suite'
|
||||||
|
suite: Suite
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface GroupEvent extends Event {
|
||||||
|
type: 'group'
|
||||||
|
group: Group
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TestStartEvent extends Event {
|
||||||
|
type: 'testStart'
|
||||||
|
test: Test
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface TestDoneEvent extends Event {
|
||||||
|
type: 'testDone'
|
||||||
|
testID: number
|
||||||
|
result: 'success' | 'failure' | 'error'
|
||||||
|
hidden: boolean
|
||||||
|
skipped: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DoneEvent extends Event {
|
||||||
|
type: 'done'
|
||||||
|
success: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface ErrorEvent extends Event {
|
||||||
|
type: 'error'
|
||||||
|
testID: number
|
||||||
|
error: string
|
||||||
|
stackTrace: string
|
||||||
|
isFailure: boolean
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface DebugEvent extends Event {
|
||||||
|
type: 'debug'
|
||||||
|
suiteID: number
|
||||||
|
observatory: string
|
||||||
|
remoteDebugger: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface MessageEvent extends Event {
|
||||||
|
type: 'print'
|
||||||
|
testID: number
|
||||||
|
messageType: string
|
||||||
|
message: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Suite {
|
||||||
|
id: number
|
||||||
|
platform?: string
|
||||||
|
path: string
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Group {
|
||||||
|
id: number
|
||||||
|
name?: string
|
||||||
|
suiteID: number
|
||||||
|
parentID?: number
|
||||||
|
testCount: number
|
||||||
|
line: number | null // The (1-based) line on which the group was defined, or `null`.
|
||||||
|
column: number | null // The (1-based) column on which the group was defined, or `null`.
|
||||||
|
url: string | null
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Test {
|
||||||
|
id: number
|
||||||
|
name: string
|
||||||
|
suiteID: number
|
||||||
|
groupIDs: number[] // The IDs of groups containing this test, in order from outermost to innermost.
|
||||||
|
line: number | null // The (1-based) line on which the test was defined, or `null`.
|
||||||
|
column: number | null // The (1-based) column on which the test was defined, or `null`.
|
||||||
|
url: string | null
|
||||||
|
root_line?: number
|
||||||
|
root_column?: number
|
||||||
|
root_url: string | undefined
|
||||||
|
}
|
||||||
|
|
||||||
|
export function isSuiteEvent(event: Event): event is SuiteEvent {
|
||||||
|
return event.type === 'suite'
|
||||||
|
}
|
||||||
|
export function isGroupEvent(event: Event): event is GroupEvent {
|
||||||
|
return event.type === 'group'
|
||||||
|
}
|
||||||
|
export function isTestStartEvent(event: Event): event is TestStartEvent {
|
||||||
|
return event.type === 'testStart'
|
||||||
|
}
|
||||||
|
export function isTestDoneEvent(event: Event): event is TestDoneEvent {
|
||||||
|
return event.type === 'testDone'
|
||||||
|
}
|
||||||
|
export function isErrorEvent(event: Event): event is ErrorEvent {
|
||||||
|
return event.type === 'error'
|
||||||
|
}
|
||||||
|
export function isDoneEvent(event: Event): event is DoneEvent {
|
||||||
|
return event.type === 'done'
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue