UNPKG

43.3 kBTypeScriptView Raw
1export type ErrorValidator
2 = (new (...args: any[]) => any)
3 | RegExp
4 | string
5 | ((error: any) => boolean);
6
7export interface Observable {
8 subscribe(observer: (value: {}) => void): void;
9}
10export interface SnapshotOptions {
11 id?: string;
12}
13export type Test = (t: TestContext) => PromiseLike<void> | Iterator<any> | Observable | void;
14export type GenericTest<T> = (t: GenericTestContext<T>) => PromiseLike<void> | Iterator<any> | Observable | void;
15export type CallbackTest = (t: CallbackTestContext) => void;
16export type GenericCallbackTest<T> = (t: GenericCallbackTestContext<T>) => void;
17
18export interface Context<T> { context: T }
19export type AnyContext = Context<any>;
20
21export type ContextualTest = GenericTest<AnyContext>;
22export type ContextualCallbackTest = GenericCallbackTest<AnyContext>;
23
24export interface AssertContext {
25 /**
26 * Passing assertion.
27 */
28 pass(message?: string): void;
29 /**
30 * Failing assertion.
31 */
32 fail(message?: string): void;
33 /**
34 * Assert that value is truthy.
35 */
36 truthy(value: any, message?: string): void;
37 /**
38 * Assert that value is falsy.
39 */
40 falsy(value: any, message?: string): void;
41 /**
42 * Assert that value is true.
43 */
44 true(value: any, message?: string): void;
45 /**
46 * Assert that value is false.
47 */
48 false(value: any, message?: string): void;
49 /**
50 * Assert that value is equal to expected.
51 */
52 is<U>(value: U, expected: U, message?: string): void;
53 /**
54 * Assert that value is not equal to expected.
55 */
56 not<U>(value: U, expected: U, message?: string): void;
57 /**
58 * Assert that value is deep equal to expected.
59 */
60 deepEqual<U>(value: U, expected: U, message?: string): void;
61 /**
62 * Assert that value is not deep equal to expected.
63 */
64 notDeepEqual<U>(value: U, expected: U, message?: string): void;
65 /**
66 * Assert that function throws an error or promise rejects.
67 * @param error Can be a constructor, regex, error message or validation function.
68 */
69 throws(value: PromiseLike<any>, error?: ErrorValidator, message?: string): Promise<any>;
70 throws(value: () => void, error?: ErrorValidator, message?: string): any;
71 /**
72 * Assert that function doesn't throw an error or promise resolves.
73 */
74 notThrows(value: PromiseLike<any>, message?: string): Promise<void>;
75 notThrows(value: () => void, message?: string): void;
76 /**
77 * Assert that contents matches regex.
78 */
79 regex(contents: string, regex: RegExp, message?: string): void;
80 /**
81 * Assert that contents matches a snapshot.
82 */
83 snapshot(contents: any, message?: string): void;
84 snapshot(contents: any, options: SnapshotOptions, message?: string): void;
85 /**
86 * Assert that contents does not match regex.
87 */
88 notRegex(contents: string, regex: RegExp, message?: string): void;
89 /**
90 * Assert that error is falsy.
91 */
92 ifError(error: any, message?: string): void;
93}
94export interface TestContext extends AssertContext {
95 /**
96 * Test title.
97 */
98 title: string;
99 /**
100 * Plan how many assertion there are in the test.
101 * The test will fail if the actual assertion count doesn't match planned assertions.
102 */
103 plan(count: number): void;
104
105 skip: AssertContext;
106 /**
107 * Log values contextually alongside the test result instead of immediately printing them to `stdout`.
108 */
109 log(...values: any[]): void;
110}
111export interface CallbackTestContext extends TestContext {
112 /**
113 * End the test.
114 */
115 end(): void;
116}
117
118export type GenericTestContext<T> = TestContext & T;
119export type GenericCallbackTestContext<T> = CallbackTestContext & T;
120
121export interface Macro<T> {
122 (t: T, ...args: any[]): void;
123 title? (providedTitle: string, ...args: any[]): string;
124}
125export type Macros<T> = Macro<T> | Macro<T>[];
126
127interface RegisterBase<T> {
128 (name: string, run: GenericTest<T>): void;
129 (run: GenericTest<T>): void;
130 (name: string, run: Macros<GenericTestContext<T>>, ...args: any[]): void;
131 (run: Macros<GenericTestContext<T>>, ...args: any[]): void;
132}
133
134interface CallbackRegisterBase<T> {
135 (name: string, run: GenericCallbackTest<T>): void;
136 (run: GenericCallbackTest<T>): void;
137 (name: string, run: Macros<GenericCallbackTestContext<T>>, ...args: any[]): void;
138 (run: Macros<GenericCallbackTestContext<T>>, ...args: any[]): void;
139}
140
141export default test;
142export const test: RegisterContextual<any>;
143export interface RegisterContextual<T> extends Register<Context<T>> {
144}
145export interface Register<T> extends RegisterBase<T> {
146 serial: RegisterBase<T> & Register_serial<T>;
147 before: RegisterBase<T> & Register_before<T>;
148 after: RegisterBase<T> & Register_after<T>;
149 skip: RegisterBase<T> & Register_skip<T>;
150 todo: (name: string) => void;
151 failing: RegisterBase<T> & Register_failing<T>;
152 only: RegisterBase<T> & Register_only<T>;
153 beforeEach: RegisterBase<T> & Register_beforeEach<T>;
154 afterEach: RegisterBase<T> & Register_afterEach<T>;
155 cb: CallbackRegisterBase<T> & Register_cb<T>;
156}
157interface Register_serial<T> {
158 before: Register_before_serial<T>;
159 after: Register_after_serial<T>;
160 skip: RegisterBase<T> & Register_serial_skip<T>;
161 todo: (name: string) => void;
162 failing: Register_failing_serial<T>;
163 only: Register_only_serial<T>;
164 beforeEach: Register_beforeEach_serial<T>;
165 afterEach: Register_afterEach_serial<T>;
166 cb: Register_cb_serial<T>;
167 always: Register_always_serial<T>;
168}
169interface Register_serial_skip<T> {
170 before: Register_before_serial_skip<T>;
171 after: Register_after_serial_skip<T>;
172 failing: Register_failing_serial_skip<T>;
173 beforeEach: Register_beforeEach_serial_skip<T>;
174 afterEach: Register_afterEach_serial_skip<T>;
175 cb: Register_cb_serial_skip<T>;
176 always: Register_always_serial_skip<T>;
177}
178interface Register_serial_todo<T> {
179 before: Register_before_serial_todo<T>;
180 after: Register_after_serial_todo<T>;
181 failing: Register_failing_serial_todo<T>;
182 beforeEach: Register_beforeEach_serial_todo<T>;
183 afterEach: Register_afterEach_serial_todo<T>;
184 cb: Register_cb_serial_todo<T>;
185 always: Register_always_serial_todo<T>;
186}
187interface Register_before<T> {
188 serial: RegisterBase<T> & Register_before_serial<T>;
189 skip: RegisterBase<T> & Register_before_skip<T>;
190 todo: (name: string) => void;
191 failing: RegisterBase<T> & Register_before_failing<T>;
192 cb: CallbackRegisterBase<T> & Register_before_cb<T>;
193}
194interface Register_before_serial<T> {
195 skip: RegisterBase<T> & Register_before_serial_skip<T>;
196 todo: (name: string) => void;
197 failing: Register_before_failing_serial<T>;
198 cb: Register_before_cb_serial<T>;
199}
200interface Register_before_serial_skip<T> {
201 failing: Register_before_failing_serial_skip<T>;
202 cb: Register_before_cb_serial_skip<T>;
203}
204interface Register_before_serial_todo<T> {
205 failing: Register_before_failing_serial_todo<T>;
206 cb: Register_before_cb_serial_todo<T>;
207}
208interface Register_before_skip<T> {
209 serial: Register_before_serial_skip<T>;
210 failing: Register_before_failing_skip<T>;
211 cb: Register_before_cb_skip<T>;
212}
213interface Register_before_todo<T> {
214 serial: Register_before_serial_todo<T>;
215 failing: Register_before_failing_todo<T>;
216 cb: Register_before_cb_todo<T>;
217}
218interface Register_before_failing<T> {
219 serial: RegisterBase<T> & Register_before_failing_serial<T>;
220 skip: RegisterBase<T> & Register_before_failing_skip<T>;
221 todo: (name: string) => void;
222 cb: Register_before_cb_failing<T>;
223}
224interface Register_before_failing_serial<T> {
225 skip: RegisterBase<T> & Register_before_failing_serial_skip<T>;
226 todo: (name: string) => void;
227 cb: Register_before_cb_failing_serial<T>;
228}
229interface Register_before_failing_serial_skip<T> {
230 cb: Register_before_cb_failing_serial<T>['skip'];
231}
232interface Register_before_failing_serial_todo<T> {
233 cb: Register_before_cb_failing_serial<T>['todo'];
234}
235interface Register_before_failing_skip<T> {
236 serial: Register_before_failing_serial_skip<T>;
237 cb: Register_before_cb_failing_skip<T>;
238}
239interface Register_before_failing_todo<T> {
240 serial: Register_before_failing_serial_todo<T>;
241 cb: Register_before_cb_failing_todo<T>;
242}
243interface Register_before_cb<T> {
244 serial: CallbackRegisterBase<T> & Register_before_cb_serial<T>;
245 skip: CallbackRegisterBase<T> & Register_before_cb_skip<T>;
246 todo: (name: string) => void;
247 failing: CallbackRegisterBase<T> & Register_before_cb_failing<T>;
248}
249interface Register_before_cb_serial<T> {
250 skip: CallbackRegisterBase<T> & Register_before_cb_serial_skip<T>;
251 todo: (name: string) => void;
252 failing: Register_before_cb_failing_serial<T>;
253}
254interface Register_before_cb_serial_skip<T> {
255 failing: Register_before_cb_failing_serial<T>['skip'];
256}
257interface Register_before_cb_serial_todo<T> {
258 failing: Register_before_cb_failing_serial<T>['todo'];
259}
260interface Register_before_cb_skip<T> {
261 serial: Register_before_cb_serial_skip<T>;
262 failing: Register_before_cb_failing_skip<T>;
263}
264interface Register_before_cb_todo<T> {
265 serial: Register_before_cb_serial_todo<T>;
266 failing: Register_before_cb_failing_todo<T>;
267}
268interface Register_before_cb_failing<T> {
269 serial: CallbackRegisterBase<T> & Register_before_cb_failing_serial<T>;
270 skip: CallbackRegisterBase<T> & Register_before_cb_failing_skip<T>;
271 todo: (name: string) => void;
272}
273interface Register_before_cb_failing_serial<T> {
274 skip: CallbackRegisterBase<T>;
275 todo: (name: string) => void;
276}
277interface Register_before_cb_failing_skip<T> {
278 serial: Register_before_cb_failing_serial<T>['skip'];
279}
280interface Register_before_cb_failing_todo<T> {
281 serial: Register_before_cb_failing_serial<T>['todo'];
282}
283interface Register_after<T> {
284 serial: RegisterBase<T> & Register_after_serial<T>;
285 skip: RegisterBase<T> & Register_after_skip<T>;
286 todo: (name: string) => void;
287 failing: RegisterBase<T> & Register_after_failing<T>;
288 cb: CallbackRegisterBase<T> & Register_after_cb<T>;
289 always: RegisterBase<T> & Register_after_always<T>;
290}
291interface Register_after_serial<T> {
292 skip: RegisterBase<T> & Register_after_serial_skip<T>;
293 todo: (name: string) => void;
294 failing: Register_after_failing_serial<T>;
295 cb: Register_after_cb_serial<T>;
296 always: Register_after_always_serial<T>;
297}
298interface Register_after_serial_skip<T> {
299 failing: Register_after_failing_serial_skip<T>;
300 cb: Register_after_cb_serial_skip<T>;
301 always: Register_after_always_serial_skip<T>;
302}
303interface Register_after_serial_todo<T> {
304 failing: Register_after_failing_serial_todo<T>;
305 cb: Register_after_cb_serial_todo<T>;
306 always: Register_after_always_serial_todo<T>;
307}
308interface Register_after_skip<T> {
309 serial: Register_after_serial_skip<T>;
310 failing: Register_after_failing_skip<T>;
311 cb: Register_after_cb_skip<T>;
312 always: Register_after_always_skip<T>;
313}
314interface Register_after_todo<T> {
315 serial: Register_after_serial_todo<T>;
316 failing: Register_after_failing_todo<T>;
317 cb: Register_after_cb_todo<T>;
318 always: Register_after_always_todo<T>;
319}
320interface Register_after_failing<T> {
321 serial: RegisterBase<T> & Register_after_failing_serial<T>;
322 skip: RegisterBase<T> & Register_after_failing_skip<T>;
323 todo: (name: string) => void;
324 cb: Register_after_cb_failing<T>;
325 always: Register_after_always_failing<T>;
326}
327interface Register_after_failing_serial<T> {
328 skip: RegisterBase<T> & Register_after_failing_serial_skip<T>;
329 todo: (name: string) => void;
330 cb: Register_after_cb_failing_serial<T>;
331 always: Register_after_always_failing_serial<T>;
332}
333interface Register_after_failing_serial_skip<T> {
334 cb: Register_after_cb_failing_serial_skip<T>;
335 always: Register_after_always_failing_serial_skip<T>;
336}
337interface Register_after_failing_serial_todo<T> {
338 cb: Register_after_cb_failing_serial_todo<T>;
339 always: Register_after_always_failing_serial_todo<T>;
340}
341interface Register_after_failing_skip<T> {
342 serial: Register_after_failing_serial_skip<T>;
343 cb: Register_after_cb_failing_skip<T>;
344 always: Register_after_always_failing_skip<T>;
345}
346interface Register_after_failing_todo<T> {
347 serial: Register_after_failing_serial_todo<T>;
348 cb: Register_after_cb_failing_todo<T>;
349 always: Register_after_always_failing_todo<T>;
350}
351interface Register_after_cb<T> {
352 serial: CallbackRegisterBase<T> & Register_after_cb_serial<T>;
353 skip: CallbackRegisterBase<T> & Register_after_cb_skip<T>;
354 todo: (name: string) => void;
355 failing: CallbackRegisterBase<T> & Register_after_cb_failing<T>;
356 always: Register_after_always_cb<T>;
357}
358interface Register_after_cb_serial<T> {
359 skip: CallbackRegisterBase<T> & Register_after_cb_serial_skip<T>;
360 todo: (name: string) => void;
361 failing: Register_after_cb_failing_serial<T>;
362 always: Register_after_always_cb_serial<T>;
363}
364interface Register_after_cb_serial_skip<T> {
365 failing: Register_after_cb_failing_serial_skip<T>;
366 always: Register_after_always_cb_serial_skip<T>;
367}
368interface Register_after_cb_serial_todo<T> {
369 failing: Register_after_cb_failing_serial_todo<T>;
370 always: Register_after_always_cb_serial_todo<T>;
371}
372interface Register_after_cb_skip<T> {
373 serial: Register_after_cb_serial_skip<T>;
374 failing: Register_after_cb_failing_skip<T>;
375 always: Register_after_always_cb_skip<T>;
376}
377interface Register_after_cb_todo<T> {
378 serial: Register_after_cb_serial_todo<T>;
379 failing: Register_after_cb_failing_todo<T>;
380 always: Register_after_always_cb_todo<T>;
381}
382interface Register_after_cb_failing<T> {
383 serial: CallbackRegisterBase<T> & Register_after_cb_failing_serial<T>;
384 skip: CallbackRegisterBase<T> & Register_after_cb_failing_skip<T>;
385 todo: (name: string) => void;
386 always: Register_after_always_cb_failing<T>;
387}
388interface Register_after_cb_failing_serial<T> {
389 skip: CallbackRegisterBase<T> & Register_after_cb_failing_serial_skip<T>;
390 todo: (name: string) => void;
391 always: Register_after_always_cb_failing_serial<T>;
392}
393interface Register_after_cb_failing_serial_skip<T> {
394 always: Register_after_always_cb_failing_serial<T>['skip'];
395}
396interface Register_after_cb_failing_serial_todo<T> {
397 always: Register_after_always_cb_failing_serial<T>['todo'];
398}
399interface Register_after_cb_failing_skip<T> {
400 serial: Register_after_cb_failing_serial_skip<T>;
401 always: Register_after_always_cb_failing_skip<T>;
402}
403interface Register_after_cb_failing_todo<T> {
404 serial: Register_after_cb_failing_serial_todo<T>;
405 always: Register_after_always_cb_failing_todo<T>;
406}
407interface Register_after_always<T> {
408 serial: RegisterBase<T> & Register_after_always_serial<T>;
409 skip: RegisterBase<T> & Register_after_always_skip<T>;
410 todo: (name: string) => void;
411 failing: RegisterBase<T> & Register_after_always_failing<T>;
412 cb: CallbackRegisterBase<T> & Register_after_always_cb<T>;
413}
414interface Register_after_always_serial<T> {
415 skip: RegisterBase<T> & Register_after_always_serial_skip<T>;
416 todo: (name: string) => void;
417 failing: Register_after_always_failing_serial<T>;
418 cb: Register_after_always_cb_serial<T>;
419}
420interface Register_after_always_serial_skip<T> {
421 failing: Register_after_always_failing_serial_skip<T>;
422 cb: Register_after_always_cb_serial_skip<T>;
423}
424interface Register_after_always_serial_todo<T> {
425 failing: Register_after_always_failing_serial_todo<T>;
426 cb: Register_after_always_cb_serial_todo<T>;
427}
428interface Register_after_always_skip<T> {
429 serial: Register_after_always_serial_skip<T>;
430 failing: Register_after_always_failing_skip<T>;
431 cb: Register_after_always_cb_skip<T>;
432}
433interface Register_after_always_todo<T> {
434 serial: Register_after_always_serial_todo<T>;
435 failing: Register_after_always_failing_todo<T>;
436 cb: Register_after_always_cb_todo<T>;
437}
438interface Register_after_always_failing<T> {
439 serial: RegisterBase<T> & Register_after_always_failing_serial<T>;
440 skip: RegisterBase<T> & Register_after_always_failing_skip<T>;
441 todo: (name: string) => void;
442 cb: Register_after_always_cb_failing<T>;
443}
444interface Register_after_always_failing_serial<T> {
445 skip: RegisterBase<T> & Register_after_always_failing_serial_skip<T>;
446 todo: (name: string) => void;
447 cb: Register_after_always_cb_failing_serial<T>;
448}
449interface Register_after_always_failing_serial_skip<T> {
450 cb: Register_after_always_cb_failing_serial<T>['skip'];
451}
452interface Register_after_always_failing_serial_todo<T> {
453 cb: Register_after_always_cb_failing_serial<T>['todo'];
454}
455interface Register_after_always_failing_skip<T> {
456 serial: Register_after_always_failing_serial_skip<T>;
457 cb: Register_after_always_cb_failing_skip<T>;
458}
459interface Register_after_always_failing_todo<T> {
460 serial: Register_after_always_failing_serial_todo<T>;
461 cb: Register_after_always_cb_failing_todo<T>;
462}
463interface Register_after_always_cb<T> {
464 serial: CallbackRegisterBase<T> & Register_after_always_cb_serial<T>;
465 skip: CallbackRegisterBase<T> & Register_after_always_cb_skip<T>;
466 todo: (name: string) => void;
467 failing: CallbackRegisterBase<T> & Register_after_always_cb_failing<T>;
468}
469interface Register_after_always_cb_serial<T> {
470 skip: CallbackRegisterBase<T> & Register_after_always_cb_serial_skip<T>;
471 todo: (name: string) => void;
472 failing: Register_after_always_cb_failing_serial<T>;
473}
474interface Register_after_always_cb_serial_skip<T> {
475 failing: Register_after_always_cb_failing_serial<T>['skip'];
476}
477interface Register_after_always_cb_serial_todo<T> {
478 failing: Register_after_always_cb_failing_serial<T>['todo'];
479}
480interface Register_after_always_cb_skip<T> {
481 serial: Register_after_always_cb_serial_skip<T>;
482 failing: Register_after_always_cb_failing_skip<T>;
483}
484interface Register_after_always_cb_todo<T> {
485 serial: Register_after_always_cb_serial_todo<T>;
486 failing: Register_after_always_cb_failing_todo<T>;
487}
488interface Register_after_always_cb_failing<T> {
489 serial: CallbackRegisterBase<T> & Register_after_always_cb_failing_serial<T>;
490 skip: CallbackRegisterBase<T> & Register_after_always_cb_failing_skip<T>;
491 todo: (name: string) => void;
492}
493interface Register_after_always_cb_failing_serial<T> {
494 skip: CallbackRegisterBase<T>;
495 todo: (name: string) => void;
496}
497interface Register_after_always_cb_failing_skip<T> {
498 serial: Register_after_always_cb_failing_serial<T>['skip'];
499}
500interface Register_after_always_cb_failing_todo<T> {
501 serial: Register_after_always_cb_failing_serial<T>['todo'];
502}
503interface Register_skip<T> {
504 serial: Register_serial_skip<T>;
505 before: Register_before_skip<T>;
506 after: Register_after_skip<T>;
507 failing: Register_failing_skip<T>;
508 beforeEach: Register_beforeEach_skip<T>;
509 afterEach: Register_afterEach_skip<T>;
510 cb: Register_cb_skip<T>;
511 always: Register_always_skip<T>;
512}
513interface Register_todo<T> {
514 serial: Register_serial_todo<T>;
515 before: Register_before_todo<T>;
516 after: Register_after_todo<T>;
517 failing: Register_failing_todo<T>;
518 beforeEach: Register_beforeEach_todo<T>;
519 afterEach: Register_afterEach_todo<T>;
520 cb: Register_cb_todo<T>;
521 always: Register_always_todo<T>;
522}
523interface Register_failing<T> {
524 serial: RegisterBase<T> & Register_failing_serial<T>;
525 before: Register_before_failing<T>;
526 after: Register_after_failing<T>;
527 skip: RegisterBase<T> & Register_failing_skip<T>;
528 todo: (name: string) => void;
529 only: RegisterBase<T> & Register_failing_only<T>;
530 beforeEach: Register_beforeEach_failing<T>;
531 afterEach: Register_afterEach_failing<T>;
532 cb: Register_cb_failing<T>;
533 always: Register_always_failing<T>;
534}
535interface Register_failing_serial<T> {
536 before: Register_before_failing_serial<T>;
537 after: Register_after_failing_serial<T>;
538 skip: RegisterBase<T> & Register_failing_serial_skip<T>;
539 todo: (name: string) => void;
540 only: Register_failing_only_serial<T>;
541 beforeEach: Register_beforeEach_failing_serial<T>;
542 afterEach: Register_afterEach_failing_serial<T>;
543 cb: Register_cb_failing_serial<T>;
544 always: Register_always_failing_serial<T>;
545}
546interface Register_failing_serial_skip<T> {
547 before: Register_before_failing_serial_skip<T>;
548 after: Register_after_failing_serial_skip<T>;
549 beforeEach: Register_beforeEach_failing_serial_skip<T>;
550 afterEach: Register_afterEach_failing_serial_skip<T>;
551 cb: Register_cb_failing_serial_skip<T>;
552 always: Register_always_failing_serial_skip<T>;
553}
554interface Register_failing_serial_todo<T> {
555 before: Register_before_failing_serial_todo<T>;
556 after: Register_after_failing_serial_todo<T>;
557 beforeEach: Register_beforeEach_failing_serial_todo<T>;
558 afterEach: Register_afterEach_failing_serial_todo<T>;
559 cb: Register_cb_failing_serial_todo<T>;
560 always: Register_always_failing_serial_todo<T>;
561}
562interface Register_failing_skip<T> {
563 serial: Register_failing_serial_skip<T>;
564 before: Register_before_failing_skip<T>;
565 after: Register_after_failing_skip<T>;
566 beforeEach: Register_beforeEach_failing_skip<T>;
567 afterEach: Register_afterEach_failing_skip<T>;
568 cb: Register_cb_failing_skip<T>;
569 always: Register_always_failing_skip<T>;
570}
571interface Register_failing_todo<T> {
572 serial: Register_failing_serial_todo<T>;
573 before: Register_before_failing_todo<T>;
574 after: Register_after_failing_todo<T>;
575 beforeEach: Register_beforeEach_failing_todo<T>;
576 afterEach: Register_afterEach_failing_todo<T>;
577 cb: Register_cb_failing_todo<T>;
578 always: Register_always_failing_todo<T>;
579}
580interface Register_failing_only<T> {
581 serial: RegisterBase<T> & Register_failing_only_serial<T>;
582 cb: Register_cb_failing_only<T>;
583}
584interface Register_failing_only_serial<T> {
585 cb: Register_cb_failing_only<T>['serial'];
586}
587interface Register_only<T> {
588 serial: RegisterBase<T> & Register_only_serial<T>;
589 failing: Register_failing_only<T>;
590 cb: Register_cb_only<T>;
591}
592interface Register_only_serial<T> {
593 failing: Register_failing_only_serial<T>;
594 cb: Register_cb_only_serial<T>;
595}
596interface Register_beforeEach<T> {
597 serial: RegisterBase<T> & Register_beforeEach_serial<T>;
598 skip: RegisterBase<T> & Register_beforeEach_skip<T>;
599 todo: (name: string) => void;
600 failing: RegisterBase<T> & Register_beforeEach_failing<T>;
601 cb: CallbackRegisterBase<T> & Register_beforeEach_cb<T>;
602}
603interface Register_beforeEach_serial<T> {
604 skip: RegisterBase<T> & Register_beforeEach_serial_skip<T>;
605 todo: (name: string) => void;
606 failing: Register_beforeEach_failing_serial<T>;
607 cb: Register_beforeEach_cb_serial<T>;
608}
609interface Register_beforeEach_serial_skip<T> {
610 failing: Register_beforeEach_failing_serial_skip<T>;
611 cb: Register_beforeEach_cb_serial_skip<T>;
612}
613interface Register_beforeEach_serial_todo<T> {
614 failing: Register_beforeEach_failing_serial_todo<T>;
615 cb: Register_beforeEach_cb_serial_todo<T>;
616}
617interface Register_beforeEach_skip<T> {
618 serial: Register_beforeEach_serial_skip<T>;
619 failing: Register_beforeEach_failing_skip<T>;
620 cb: Register_beforeEach_cb_skip<T>;
621}
622interface Register_beforeEach_todo<T> {
623 serial: Register_beforeEach_serial_todo<T>;
624 failing: Register_beforeEach_failing_todo<T>;
625 cb: Register_beforeEach_cb_todo<T>;
626}
627interface Register_beforeEach_failing<T> {
628 serial: RegisterBase<T> & Register_beforeEach_failing_serial<T>;
629 skip: RegisterBase<T> & Register_beforeEach_failing_skip<T>;
630 todo: (name: string) => void;
631 cb: Register_beforeEach_cb_failing<T>;
632}
633interface Register_beforeEach_failing_serial<T> {
634 skip: RegisterBase<T> & Register_beforeEach_failing_serial_skip<T>;
635 todo: (name: string) => void;
636 cb: Register_beforeEach_cb_failing_serial<T>;
637}
638interface Register_beforeEach_failing_serial_skip<T> {
639 cb: Register_beforeEach_cb_failing_serial<T>['skip'];
640}
641interface Register_beforeEach_failing_serial_todo<T> {
642 cb: Register_beforeEach_cb_failing_serial<T>['todo'];
643}
644interface Register_beforeEach_failing_skip<T> {
645 serial: Register_beforeEach_failing_serial_skip<T>;
646 cb: Register_beforeEach_cb_failing_skip<T>;
647}
648interface Register_beforeEach_failing_todo<T> {
649 serial: Register_beforeEach_failing_serial_todo<T>;
650 cb: Register_beforeEach_cb_failing_todo<T>;
651}
652interface Register_beforeEach_cb<T> {
653 serial: CallbackRegisterBase<T> & Register_beforeEach_cb_serial<T>;
654 skip: CallbackRegisterBase<T> & Register_beforeEach_cb_skip<T>;
655 todo: (name: string) => void;
656 failing: CallbackRegisterBase<T> & Register_beforeEach_cb_failing<T>;
657}
658interface Register_beforeEach_cb_serial<T> {
659 skip: CallbackRegisterBase<T> & Register_beforeEach_cb_serial_skip<T>;
660 todo: (name: string) => void;
661 failing: Register_beforeEach_cb_failing_serial<T>;
662}
663interface Register_beforeEach_cb_serial_skip<T> {
664 failing: Register_beforeEach_cb_failing_serial<T>['skip'];
665}
666interface Register_beforeEach_cb_serial_todo<T> {
667 failing: Register_beforeEach_cb_failing_serial<T>['todo'];
668}
669interface Register_beforeEach_cb_skip<T> {
670 serial: Register_beforeEach_cb_serial_skip<T>;
671 failing: Register_beforeEach_cb_failing_skip<T>;
672}
673interface Register_beforeEach_cb_todo<T> {
674 serial: Register_beforeEach_cb_serial_todo<T>;
675 failing: Register_beforeEach_cb_failing_todo<T>;
676}
677interface Register_beforeEach_cb_failing<T> {
678 serial: CallbackRegisterBase<T> & Register_beforeEach_cb_failing_serial<T>;
679 skip: CallbackRegisterBase<T> & Register_beforeEach_cb_failing_skip<T>;
680 todo: (name: string) => void;
681}
682interface Register_beforeEach_cb_failing_serial<T> {
683 skip: CallbackRegisterBase<T>;
684 todo: (name: string) => void;
685}
686interface Register_beforeEach_cb_failing_skip<T> {
687 serial: Register_beforeEach_cb_failing_serial<T>['skip'];
688}
689interface Register_beforeEach_cb_failing_todo<T> {
690 serial: Register_beforeEach_cb_failing_serial<T>['todo'];
691}
692interface Register_afterEach<T> {
693 serial: RegisterBase<T> & Register_afterEach_serial<T>;
694 skip: RegisterBase<T> & Register_afterEach_skip<T>;
695 todo: (name: string) => void;
696 failing: RegisterBase<T> & Register_afterEach_failing<T>;
697 cb: CallbackRegisterBase<T> & Register_afterEach_cb<T>;
698 always: RegisterBase<T> & Register_afterEach_always<T>;
699}
700interface Register_afterEach_serial<T> {
701 skip: RegisterBase<T> & Register_afterEach_serial_skip<T>;
702 todo: (name: string) => void;
703 failing: Register_afterEach_failing_serial<T>;
704 cb: Register_afterEach_cb_serial<T>;
705 always: Register_afterEach_always_serial<T>;
706}
707interface Register_afterEach_serial_skip<T> {
708 failing: Register_afterEach_failing_serial_skip<T>;
709 cb: Register_afterEach_cb_serial_skip<T>;
710 always: Register_afterEach_always_serial_skip<T>;
711}
712interface Register_afterEach_serial_todo<T> {
713 failing: Register_afterEach_failing_serial_todo<T>;
714 cb: Register_afterEach_cb_serial_todo<T>;
715 always: Register_afterEach_always_serial_todo<T>;
716}
717interface Register_afterEach_skip<T> {
718 serial: Register_afterEach_serial_skip<T>;
719 failing: Register_afterEach_failing_skip<T>;
720 cb: Register_afterEach_cb_skip<T>;
721 always: Register_afterEach_always_skip<T>;
722}
723interface Register_afterEach_todo<T> {
724 serial: Register_afterEach_serial_todo<T>;
725 failing: Register_afterEach_failing_todo<T>;
726 cb: Register_afterEach_cb_todo<T>;
727 always: Register_afterEach_always_todo<T>;
728}
729interface Register_afterEach_failing<T> {
730 serial: RegisterBase<T> & Register_afterEach_failing_serial<T>;
731 skip: RegisterBase<T> & Register_afterEach_failing_skip<T>;
732 todo: (name: string) => void;
733 cb: Register_afterEach_cb_failing<T>;
734 always: Register_afterEach_always_failing<T>;
735}
736interface Register_afterEach_failing_serial<T> {
737 skip: RegisterBase<T> & Register_afterEach_failing_serial_skip<T>;
738 todo: (name: string) => void;
739 cb: Register_afterEach_cb_failing_serial<T>;
740 always: Register_afterEach_always_failing_serial<T>;
741}
742interface Register_afterEach_failing_serial_skip<T> {
743 cb: Register_afterEach_cb_failing_serial_skip<T>;
744 always: Register_afterEach_always_failing_serial_skip<T>;
745}
746interface Register_afterEach_failing_serial_todo<T> {
747 cb: Register_afterEach_cb_failing_serial_todo<T>;
748 always: Register_afterEach_always_failing_serial_todo<T>;
749}
750interface Register_afterEach_failing_skip<T> {
751 serial: Register_afterEach_failing_serial_skip<T>;
752 cb: Register_afterEach_cb_failing_skip<T>;
753 always: Register_afterEach_always_failing_skip<T>;
754}
755interface Register_afterEach_failing_todo<T> {
756 serial: Register_afterEach_failing_serial_todo<T>;
757 cb: Register_afterEach_cb_failing_todo<T>;
758 always: Register_afterEach_always_failing_todo<T>;
759}
760interface Register_afterEach_cb<T> {
761 serial: CallbackRegisterBase<T> & Register_afterEach_cb_serial<T>;
762 skip: CallbackRegisterBase<T> & Register_afterEach_cb_skip<T>;
763 todo: (name: string) => void;
764 failing: CallbackRegisterBase<T> & Register_afterEach_cb_failing<T>;
765 always: Register_afterEach_always_cb<T>;
766}
767interface Register_afterEach_cb_serial<T> {
768 skip: CallbackRegisterBase<T> & Register_afterEach_cb_serial_skip<T>;
769 todo: (name: string) => void;
770 failing: Register_afterEach_cb_failing_serial<T>;
771 always: Register_afterEach_always_cb_serial<T>;
772}
773interface Register_afterEach_cb_serial_skip<T> {
774 failing: Register_afterEach_cb_failing_serial_skip<T>;
775 always: Register_afterEach_always_cb_serial_skip<T>;
776}
777interface Register_afterEach_cb_serial_todo<T> {
778 failing: Register_afterEach_cb_failing_serial_todo<T>;
779 always: Register_afterEach_always_cb_serial_todo<T>;
780}
781interface Register_afterEach_cb_skip<T> {
782 serial: Register_afterEach_cb_serial_skip<T>;
783 failing: Register_afterEach_cb_failing_skip<T>;
784 always: Register_afterEach_always_cb_skip<T>;
785}
786interface Register_afterEach_cb_todo<T> {
787 serial: Register_afterEach_cb_serial_todo<T>;
788 failing: Register_afterEach_cb_failing_todo<T>;
789 always: Register_afterEach_always_cb_todo<T>;
790}
791interface Register_afterEach_cb_failing<T> {
792 serial: CallbackRegisterBase<T> & Register_afterEach_cb_failing_serial<T>;
793 skip: CallbackRegisterBase<T> & Register_afterEach_cb_failing_skip<T>;
794 todo: (name: string) => void;
795 always: Register_afterEach_always_cb_failing<T>;
796}
797interface Register_afterEach_cb_failing_serial<T> {
798 skip: CallbackRegisterBase<T> & Register_afterEach_cb_failing_serial_skip<T>;
799 todo: (name: string) => void;
800 always: Register_afterEach_always_cb_failing_serial<T>;
801}
802interface Register_afterEach_cb_failing_serial_skip<T> {
803 always: Register_afterEach_always_cb_failing_serial<T>['skip'];
804}
805interface Register_afterEach_cb_failing_serial_todo<T> {
806 always: Register_afterEach_always_cb_failing_serial<T>['todo'];
807}
808interface Register_afterEach_cb_failing_skip<T> {
809 serial: Register_afterEach_cb_failing_serial_skip<T>;
810 always: Register_afterEach_always_cb_failing_skip<T>;
811}
812interface Register_afterEach_cb_failing_todo<T> {
813 serial: Register_afterEach_cb_failing_serial_todo<T>;
814 always: Register_afterEach_always_cb_failing_todo<T>;
815}
816interface Register_afterEach_always<T> {
817 serial: RegisterBase<T> & Register_afterEach_always_serial<T>;
818 skip: RegisterBase<T> & Register_afterEach_always_skip<T>;
819 todo: (name: string) => void;
820 failing: RegisterBase<T> & Register_afterEach_always_failing<T>;
821 cb: CallbackRegisterBase<T> & Register_afterEach_always_cb<T>;
822}
823interface Register_afterEach_always_serial<T> {
824 skip: RegisterBase<T> & Register_afterEach_always_serial_skip<T>;
825 todo: (name: string) => void;
826 failing: Register_afterEach_always_failing_serial<T>;
827 cb: Register_afterEach_always_cb_serial<T>;
828}
829interface Register_afterEach_always_serial_skip<T> {
830 failing: Register_afterEach_always_failing_serial_skip<T>;
831 cb: Register_afterEach_always_cb_serial_skip<T>;
832}
833interface Register_afterEach_always_serial_todo<T> {
834 failing: Register_afterEach_always_failing_serial_todo<T>;
835 cb: Register_afterEach_always_cb_serial_todo<T>;
836}
837interface Register_afterEach_always_skip<T> {
838 serial: Register_afterEach_always_serial_skip<T>;
839 failing: Register_afterEach_always_failing_skip<T>;
840 cb: Register_afterEach_always_cb_skip<T>;
841}
842interface Register_afterEach_always_todo<T> {
843 serial: Register_afterEach_always_serial_todo<T>;
844 failing: Register_afterEach_always_failing_todo<T>;
845 cb: Register_afterEach_always_cb_todo<T>;
846}
847interface Register_afterEach_always_failing<T> {
848 serial: RegisterBase<T> & Register_afterEach_always_failing_serial<T>;
849 skip: RegisterBase<T> & Register_afterEach_always_failing_skip<T>;
850 todo: (name: string) => void;
851 cb: Register_afterEach_always_cb_failing<T>;
852}
853interface Register_afterEach_always_failing_serial<T> {
854 skip: RegisterBase<T> & Register_afterEach_always_failing_serial_skip<T>;
855 todo: (name: string) => void;
856 cb: Register_afterEach_always_cb_failing_serial<T>;
857}
858interface Register_afterEach_always_failing_serial_skip<T> {
859 cb: Register_afterEach_always_cb_failing_serial<T>['skip'];
860}
861interface Register_afterEach_always_failing_serial_todo<T> {
862 cb: Register_afterEach_always_cb_failing_serial<T>['todo'];
863}
864interface Register_afterEach_always_failing_skip<T> {
865 serial: Register_afterEach_always_failing_serial_skip<T>;
866 cb: Register_afterEach_always_cb_failing_skip<T>;
867}
868interface Register_afterEach_always_failing_todo<T> {
869 serial: Register_afterEach_always_failing_serial_todo<T>;
870 cb: Register_afterEach_always_cb_failing_todo<T>;
871}
872interface Register_afterEach_always_cb<T> {
873 serial: CallbackRegisterBase<T> & Register_afterEach_always_cb_serial<T>;
874 skip: CallbackRegisterBase<T> & Register_afterEach_always_cb_skip<T>;
875 todo: (name: string) => void;
876 failing: CallbackRegisterBase<T> & Register_afterEach_always_cb_failing<T>;
877}
878interface Register_afterEach_always_cb_serial<T> {
879 skip: CallbackRegisterBase<T> & Register_afterEach_always_cb_serial_skip<T>;
880 todo: (name: string) => void;
881 failing: Register_afterEach_always_cb_failing_serial<T>;
882}
883interface Register_afterEach_always_cb_serial_skip<T> {
884 failing: Register_afterEach_always_cb_failing_serial<T>['skip'];
885}
886interface Register_afterEach_always_cb_serial_todo<T> {
887 failing: Register_afterEach_always_cb_failing_serial<T>['todo'];
888}
889interface Register_afterEach_always_cb_skip<T> {
890 serial: Register_afterEach_always_cb_serial_skip<T>;
891 failing: Register_afterEach_always_cb_failing_skip<T>;
892}
893interface Register_afterEach_always_cb_todo<T> {
894 serial: Register_afterEach_always_cb_serial_todo<T>;
895 failing: Register_afterEach_always_cb_failing_todo<T>;
896}
897interface Register_afterEach_always_cb_failing<T> {
898 serial: CallbackRegisterBase<T> & Register_afterEach_always_cb_failing_serial<T>;
899 skip: CallbackRegisterBase<T> & Register_afterEach_always_cb_failing_skip<T>;
900 todo: (name: string) => void;
901}
902interface Register_afterEach_always_cb_failing_serial<T> {
903 skip: CallbackRegisterBase<T>;
904 todo: (name: string) => void;
905}
906interface Register_afterEach_always_cb_failing_skip<T> {
907 serial: Register_afterEach_always_cb_failing_serial<T>['skip'];
908}
909interface Register_afterEach_always_cb_failing_todo<T> {
910 serial: Register_afterEach_always_cb_failing_serial<T>['todo'];
911}
912interface Register_cb<T> {
913 serial: CallbackRegisterBase<T> & Register_cb_serial<T>;
914 before: Register_before_cb<T>;
915 after: Register_after_cb<T>;
916 skip: CallbackRegisterBase<T> & Register_cb_skip<T>;
917 todo: (name: string) => void;
918 failing: CallbackRegisterBase<T> & Register_cb_failing<T>;
919 only: CallbackRegisterBase<T> & Register_cb_only<T>;
920 beforeEach: Register_beforeEach_cb<T>;
921 afterEach: Register_afterEach_cb<T>;
922 always: Register_always_cb<T>;
923}
924interface Register_cb_serial<T> {
925 before: Register_before_cb_serial<T>;
926 after: Register_after_cb_serial<T>;
927 skip: CallbackRegisterBase<T> & Register_cb_serial_skip<T>;
928 todo: (name: string) => void;
929 failing: Register_cb_failing_serial<T>;
930 only: Register_cb_only_serial<T>;
931 beforeEach: Register_beforeEach_cb_serial<T>;
932 afterEach: Register_afterEach_cb_serial<T>;
933 always: Register_always_cb_serial<T>;
934}
935interface Register_cb_serial_skip<T> {
936 before: Register_before_cb_serial_skip<T>;
937 after: Register_after_cb_serial_skip<T>;
938 failing: Register_cb_failing_serial_skip<T>;
939 beforeEach: Register_beforeEach_cb_serial_skip<T>;
940 afterEach: Register_afterEach_cb_serial_skip<T>;
941 always: Register_always_cb_serial_skip<T>;
942}
943interface Register_cb_serial_todo<T> {
944 before: Register_before_cb_serial_todo<T>;
945 after: Register_after_cb_serial_todo<T>;
946 failing: Register_cb_failing_serial_todo<T>;
947 beforeEach: Register_beforeEach_cb_serial_todo<T>;
948 afterEach: Register_afterEach_cb_serial_todo<T>;
949 always: Register_always_cb_serial_todo<T>;
950}
951interface Register_cb_skip<T> {
952 serial: Register_cb_serial_skip<T>;
953 before: Register_before_cb_skip<T>;
954 after: Register_after_cb_skip<T>;
955 failing: Register_cb_failing_skip<T>;
956 beforeEach: Register_beforeEach_cb_skip<T>;
957 afterEach: Register_afterEach_cb_skip<T>;
958 always: Register_always_cb_skip<T>;
959}
960interface Register_cb_todo<T> {
961 serial: Register_cb_serial_todo<T>;
962 before: Register_before_cb_todo<T>;
963 after: Register_after_cb_todo<T>;
964 failing: Register_cb_failing_todo<T>;
965 beforeEach: Register_beforeEach_cb_todo<T>;
966 afterEach: Register_afterEach_cb_todo<T>;
967 always: Register_always_cb_todo<T>;
968}
969interface Register_cb_failing<T> {
970 serial: CallbackRegisterBase<T> & Register_cb_failing_serial<T>;
971 before: Register_before_cb_failing<T>;
972 after: Register_after_cb_failing<T>;
973 skip: CallbackRegisterBase<T> & Register_cb_failing_skip<T>;
974 todo: (name: string) => void;
975 only: CallbackRegisterBase<T> & Register_cb_failing_only<T>;
976 beforeEach: Register_beforeEach_cb_failing<T>;
977 afterEach: Register_afterEach_cb_failing<T>;
978 always: Register_always_cb_failing<T>;
979}
980interface Register_cb_failing_serial<T> {
981 before: Register_before_cb_failing_serial<T>;
982 after: Register_after_cb_failing_serial<T>;
983 skip: CallbackRegisterBase<T> & Register_cb_failing_serial_skip<T>;
984 todo: (name: string) => void;
985 only: Register_cb_failing_only<T>['serial'];
986 beforeEach: Register_beforeEach_cb_failing_serial<T>;
987 afterEach: Register_afterEach_cb_failing_serial<T>;
988 always: Register_always_cb_failing_serial<T>;
989}
990interface Register_cb_failing_serial_skip<T> {
991 before: Register_before_cb_failing_serial<T>['skip'];
992 after: Register_after_cb_failing_serial_skip<T>;
993 beforeEach: Register_beforeEach_cb_failing_serial<T>['skip'];
994 afterEach: Register_afterEach_cb_failing_serial_skip<T>;
995 always: Register_always_cb_failing_serial_skip<T>;
996}
997interface Register_cb_failing_serial_todo<T> {
998 before: Register_before_cb_failing_serial<T>['todo'];
999 after: Register_after_cb_failing_serial_todo<T>;
1000 beforeEach: Register_beforeEach_cb_failing_serial<T>['todo'];
1001 afterEach: Register_afterEach_cb_failing_serial_todo<T>;
1002 always: Register_always_cb_failing_serial_todo<T>;
1003}
1004interface Register_cb_failing_skip<T> {
1005 serial: Register_cb_failing_serial_skip<T>;
1006 before: Register_before_cb_failing_skip<T>;
1007 after: Register_after_cb_failing_skip<T>;
1008 beforeEach: Register_beforeEach_cb_failing_skip<T>;
1009 afterEach: Register_afterEach_cb_failing_skip<T>;
1010 always: Register_always_cb_failing_skip<T>;
1011}
1012interface Register_cb_failing_todo<T> {
1013 serial: Register_cb_failing_serial_todo<T>;
1014 before: Register_before_cb_failing_todo<T>;
1015 after: Register_after_cb_failing_todo<T>;
1016 beforeEach: Register_beforeEach_cb_failing_todo<T>;
1017 afterEach: Register_afterEach_cb_failing_todo<T>;
1018 always: Register_always_cb_failing_todo<T>;
1019}
1020interface Register_cb_failing_only<T> {
1021 serial: CallbackRegisterBase<T>;
1022}
1023interface Register_cb_only<T> {
1024 serial: CallbackRegisterBase<T> & Register_cb_only_serial<T>;
1025 failing: Register_cb_failing_only<T>;
1026}
1027interface Register_cb_only_serial<T> {
1028 failing: Register_cb_failing_only<T>['serial'];
1029}
1030interface Register_always<T> {
1031 after: Register_after_always<T>;
1032 afterEach: Register_afterEach_always<T>;
1033}
1034interface Register_always_serial<T> {
1035 after: Register_after_always_serial<T>;
1036 failing: Register_always_failing_serial<T>;
1037 afterEach: Register_afterEach_always_serial<T>;
1038 cb: Register_always_cb_serial<T>;
1039}
1040interface Register_always_serial_skip<T> {
1041 after: Register_after_always_serial_skip<T>;
1042 failing: Register_always_failing_serial_skip<T>;
1043 afterEach: Register_afterEach_always_serial_skip<T>;
1044 cb: Register_always_cb_serial_skip<T>;
1045}
1046interface Register_always_serial_todo<T> {
1047 after: Register_after_always_serial_todo<T>;
1048 failing: Register_always_failing_serial_todo<T>;
1049 afterEach: Register_afterEach_always_serial_todo<T>;
1050 cb: Register_always_cb_serial_todo<T>;
1051}
1052interface Register_always_skip<T> {
1053 serial: Register_always_serial_skip<T>;
1054 after: Register_after_always_skip<T>;
1055 failing: Register_always_failing_skip<T>;
1056 afterEach: Register_afterEach_always_skip<T>;
1057 cb: Register_always_cb_skip<T>;
1058}
1059interface Register_always_todo<T> {
1060 serial: Register_always_serial_todo<T>;
1061 after: Register_after_always_todo<T>;
1062 failing: Register_always_failing_todo<T>;
1063 afterEach: Register_afterEach_always_todo<T>;
1064 cb: Register_always_cb_todo<T>;
1065}
1066interface Register_always_failing<T> {
1067 after: Register_after_always_failing<T>;
1068 afterEach: Register_afterEach_always_failing<T>;
1069 cb: Register_always_cb_failing<T>;
1070}
1071interface Register_always_failing_serial<T> {
1072 after: Register_after_always_failing_serial<T>;
1073 afterEach: Register_afterEach_always_failing_serial<T>;
1074 cb: Register_always_cb_failing_serial<T>;
1075}
1076interface Register_always_failing_serial_skip<T> {
1077 after: Register_after_always_failing_serial_skip<T>;
1078 afterEach: Register_afterEach_always_failing_serial_skip<T>;
1079 cb: Register_always_cb_failing_serial_skip<T>;
1080}
1081interface Register_always_failing_serial_todo<T> {
1082 after: Register_after_always_failing_serial_todo<T>;
1083 afterEach: Register_afterEach_always_failing_serial_todo<T>;
1084 cb: Register_always_cb_failing_serial_todo<T>;
1085}
1086interface Register_always_failing_skip<T> {
1087 serial: Register_always_failing_serial_skip<T>;
1088 after: Register_after_always_failing_skip<T>;
1089 afterEach: Register_afterEach_always_failing_skip<T>;
1090 cb: Register_always_cb_failing_skip<T>;
1091}
1092interface Register_always_failing_todo<T> {
1093 serial: Register_always_failing_serial_todo<T>;
1094 after: Register_after_always_failing_todo<T>;
1095 afterEach: Register_afterEach_always_failing_todo<T>;
1096 cb: Register_always_cb_failing_todo<T>;
1097}
1098interface Register_always_cb<T> {
1099 after: Register_after_always_cb<T>;
1100 afterEach: Register_afterEach_always_cb<T>;
1101}
1102interface Register_always_cb_serial<T> {
1103 after: Register_after_always_cb_serial<T>;
1104 failing: Register_always_cb_failing_serial<T>;
1105 afterEach: Register_afterEach_always_cb_serial<T>;
1106}
1107interface Register_always_cb_serial_skip<T> {
1108 after: Register_after_always_cb_serial_skip<T>;
1109 failing: Register_always_cb_failing_serial_skip<T>;
1110 afterEach: Register_afterEach_always_cb_serial_skip<T>;
1111}
1112interface Register_always_cb_serial_todo<T> {
1113 after: Register_after_always_cb_serial_todo<T>;
1114 failing: Register_always_cb_failing_serial_todo<T>;
1115 afterEach: Register_afterEach_always_cb_serial_todo<T>;
1116}
1117interface Register_always_cb_skip<T> {
1118 serial: Register_always_cb_serial_skip<T>;
1119 after: Register_after_always_cb_skip<T>;
1120 failing: Register_always_cb_failing_skip<T>;
1121 afterEach: Register_afterEach_always_cb_skip<T>;
1122}
1123interface Register_always_cb_todo<T> {
1124 serial: Register_always_cb_serial_todo<T>;
1125 after: Register_after_always_cb_todo<T>;
1126 failing: Register_always_cb_failing_todo<T>;
1127 afterEach: Register_afterEach_always_cb_todo<T>;
1128}
1129interface Register_always_cb_failing<T> {
1130 after: Register_after_always_cb_failing<T>;
1131 afterEach: Register_afterEach_always_cb_failing<T>;
1132}
1133interface Register_always_cb_failing_serial<T> {
1134 after: Register_after_always_cb_failing_serial<T>;
1135 afterEach: Register_afterEach_always_cb_failing_serial<T>;
1136}
1137interface Register_always_cb_failing_serial_skip<T> {
1138 after: Register_after_always_cb_failing_serial<T>['skip'];
1139 afterEach: Register_afterEach_always_cb_failing_serial<T>['skip'];
1140}
1141interface Register_always_cb_failing_serial_todo<T> {
1142 after: Register_after_always_cb_failing_serial<T>['todo'];
1143 afterEach: Register_afterEach_always_cb_failing_serial<T>['todo'];
1144}
1145interface Register_always_cb_failing_skip<T> {
1146 serial: Register_always_cb_failing_serial_skip<T>;
1147 after: Register_after_always_cb_failing_skip<T>;
1148 afterEach: Register_afterEach_always_cb_failing_skip<T>;
1149}
1150interface Register_always_cb_failing_todo<T> {
1151 serial: Register_always_cb_failing_serial_todo<T>;
1152 after: Register_after_always_cb_failing_todo<T>;
1153 afterEach: Register_afterEach_always_cb_failing_todo<T>;
1154}