mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
docs: support optional methods (#13415)
So far, these are used in `Reporter`.
This commit is contained in:
parent
91333daf09
commit
cef476b89f
@ -89,7 +89,7 @@ Here is a typical order of reporter calls:
|
|||||||
Additionally, [`method: Reporter.onStdOut`] and [`method: Reporter.onStdErr`] are called when standard output is produced in the worker process, possibly during a test execution,
|
Additionally, [`method: Reporter.onStdOut`] and [`method: Reporter.onStdErr`] are called when standard output is produced in the worker process, possibly during a test execution,
|
||||||
and [`method: Reporter.onError`] is called when something went wrong outside of the test execution.
|
and [`method: Reporter.onError`] is called when something went wrong outside of the test execution.
|
||||||
|
|
||||||
## method: Reporter.onBegin
|
## optional method: Reporter.onBegin
|
||||||
|
|
||||||
Called once before running tests. All tests have been already discovered and put into a hierarchy of [Suite]s.
|
Called once before running tests. All tests have been already discovered and put into a hierarchy of [Suite]s.
|
||||||
|
|
||||||
@ -105,7 +105,7 @@ The root suite that contains all projects, files and test cases.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## async method: Reporter.onEnd
|
## optional async method: Reporter.onEnd
|
||||||
|
|
||||||
Called after all tests has been run, or testing has been interrupted. Note that this method may return a [Promise] and Playwright Test will await it.
|
Called after all tests has been run, or testing has been interrupted. Note that this method may return a [Promise] and Playwright Test will await it.
|
||||||
|
|
||||||
@ -122,7 +122,7 @@ Result of the full test run.
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
## method: Reporter.onError
|
## optional method: Reporter.onError
|
||||||
|
|
||||||
Called on some global error, for example unhandled exception in the worker process.
|
Called on some global error, for example unhandled exception in the worker process.
|
||||||
|
|
||||||
@ -132,7 +132,7 @@ Called on some global error, for example unhandled exception in the worker proce
|
|||||||
The error.
|
The error.
|
||||||
|
|
||||||
|
|
||||||
## method: Reporter.onStdErr
|
## optional method: Reporter.onStdErr
|
||||||
|
|
||||||
Called when something has been written to the standard error in the worker process.
|
Called when something has been written to the standard error in the worker process.
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ Test that was running. Note that output may happen when no test is running, in w
|
|||||||
Result of the test run, this object gets populated while the test runs.
|
Result of the test run, this object gets populated while the test runs.
|
||||||
|
|
||||||
|
|
||||||
## method: Reporter.onStdOut
|
## optional method: Reporter.onStdOut
|
||||||
|
|
||||||
Called when something has been written to the standard output in the worker process.
|
Called when something has been written to the standard output in the worker process.
|
||||||
|
|
||||||
@ -171,7 +171,7 @@ Test that was running. Note that output may happen when no test is running, in w
|
|||||||
|
|
||||||
Result of the test run, this object gets populated while the test runs.
|
Result of the test run, this object gets populated while the test runs.
|
||||||
|
|
||||||
## method: Reporter.onStepBegin
|
## optional method: Reporter.onStepBegin
|
||||||
|
|
||||||
Called when a test step started in the worker process.
|
Called when a test step started in the worker process.
|
||||||
|
|
||||||
@ -190,7 +190,7 @@ Result of the test run, this object gets populated while the test runs.
|
|||||||
|
|
||||||
Test step instance that has started.
|
Test step instance that has started.
|
||||||
|
|
||||||
## method: Reporter.onStepEnd
|
## optional method: Reporter.onStepEnd
|
||||||
|
|
||||||
Called when a test step finished in the worker process.
|
Called when a test step finished in the worker process.
|
||||||
|
|
||||||
@ -209,7 +209,7 @@ Result of the test run.
|
|||||||
|
|
||||||
Test step instance that has finished.
|
Test step instance that has finished.
|
||||||
|
|
||||||
## method: Reporter.onTestBegin
|
## optional method: Reporter.onTestBegin
|
||||||
|
|
||||||
Called after a test has been started in the worker process.
|
Called after a test has been started in the worker process.
|
||||||
|
|
||||||
@ -224,7 +224,7 @@ Test that has been started.
|
|||||||
Result of the test run, this object gets populated while the test runs.
|
Result of the test run, this object gets populated while the test runs.
|
||||||
|
|
||||||
|
|
||||||
## method: Reporter.onTestEnd
|
## optional method: Reporter.onTestEnd
|
||||||
|
|
||||||
Called after a test has been finished in the worker process.
|
Called after a test has been finished in the worker process.
|
||||||
|
|
||||||
@ -239,7 +239,7 @@ Test that has been finished.
|
|||||||
Result of the test run.
|
Result of the test run.
|
||||||
|
|
||||||
|
|
||||||
## method: Reporter.printsToStdio
|
## optional method: Reporter.printsToStdio
|
||||||
- returns: <[boolean]>
|
- returns: <[boolean]>
|
||||||
|
|
||||||
Whether this reporter uses stdio for reporting. When it does not, Playwright Test could add some output to enhance user experience.
|
Whether this reporter uses stdio for reporting. When it does not, Playwright Test could add some output to enhance user experience.
|
||||||
|
108
packages/playwright-test/types/testReporter.d.ts
vendored
108
packages/playwright-test/types/testReporter.d.ts
vendored
@ -355,62 +355,12 @@ export interface FullResult {
|
|||||||
* went wrong outside of the test execution.
|
* went wrong outside of the test execution.
|
||||||
*/
|
*/
|
||||||
export interface Reporter {
|
export interface Reporter {
|
||||||
/**
|
|
||||||
* Whether this reporter uses stdio for reporting. When it does not, Playwright Test could add some output to enhance user
|
|
||||||
* experience.
|
|
||||||
*/
|
|
||||||
printsToStdio?(): boolean;
|
|
||||||
/**
|
/**
|
||||||
* Called once before running tests. All tests have been already discovered and put into a hierarchy of [Suite]s.
|
* Called once before running tests. All tests have been already discovered and put into a hierarchy of [Suite]s.
|
||||||
* @param config Resolved configuration.
|
* @param config Resolved configuration.
|
||||||
* @param suite The root suite that contains all projects, files and test cases.
|
* @param suite The root suite that contains all projects, files and test cases.
|
||||||
*/
|
*/
|
||||||
onBegin?(config: FullConfig, suite: Suite): void;
|
onBegin?(config: FullConfig, suite: Suite): void;
|
||||||
/**
|
|
||||||
* Called after a test has been started in the worker process.
|
|
||||||
* @param test Test that has been started.
|
|
||||||
* @param result Result of the test run, this object gets populated while the test runs.
|
|
||||||
*/
|
|
||||||
onTestBegin?(test: TestCase, result: TestResult): void;
|
|
||||||
/**
|
|
||||||
* Called when something has been written to the standard output in the worker process.
|
|
||||||
* @param chunk Output chunk.
|
|
||||||
* @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
|
|
||||||
* @param result Result of the test run, this object gets populated while the test runs.
|
|
||||||
*/
|
|
||||||
onStdOut?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
||||||
/**
|
|
||||||
* Called when something has been written to the standard error in the worker process.
|
|
||||||
* @param chunk Output chunk.
|
|
||||||
* @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
|
|
||||||
* @param result Result of the test run, this object gets populated while the test runs.
|
|
||||||
*/
|
|
||||||
onStdErr?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
||||||
/**
|
|
||||||
* Called after a test has been finished in the worker process.
|
|
||||||
* @param test Test that has been finished.
|
|
||||||
* @param result Result of the test run.
|
|
||||||
*/
|
|
||||||
onTestEnd?(test: TestCase, result: TestResult): void;
|
|
||||||
/**
|
|
||||||
* Called when a test step started in the worker process.
|
|
||||||
* @param test Test that the step belongs to.
|
|
||||||
* @param result Result of the test run, this object gets populated while the test runs.
|
|
||||||
* @param step Test step instance that has started.
|
|
||||||
*/
|
|
||||||
onStepBegin?(test: TestCase, result: TestResult, step: TestStep): void;
|
|
||||||
/**
|
|
||||||
* Called when a test step finished in the worker process.
|
|
||||||
* @param test Test that the step belongs to.
|
|
||||||
* @param result Result of the test run.
|
|
||||||
* @param step Test step instance that has finished.
|
|
||||||
*/
|
|
||||||
onStepEnd?(test: TestCase, result: TestResult, step: TestStep): void;
|
|
||||||
/**
|
|
||||||
* Called on some global error, for example unhandled exception in the worker process.
|
|
||||||
* @param error The error.
|
|
||||||
*/
|
|
||||||
onError?(error: TestError): void;
|
|
||||||
/**
|
/**
|
||||||
* Called after all tests has been run, or testing has been interrupted. Note that this method may return a [Promise] and
|
* Called after all tests has been run, or testing has been interrupted. Note that this method may return a [Promise] and
|
||||||
* Playwright Test will await it.
|
* Playwright Test will await it.
|
||||||
@ -422,7 +372,63 @@ export interface Reporter {
|
|||||||
* - `'interrupted'` - Interrupted by the user.
|
* - `'interrupted'` - Interrupted by the user.
|
||||||
*/
|
*/
|
||||||
onEnd?(result: FullResult): void | Promise<void>;
|
onEnd?(result: FullResult): void | Promise<void>;
|
||||||
}
|
/**
|
||||||
|
* Called on some global error, for example unhandled exception in the worker process.
|
||||||
|
* @param error The error.
|
||||||
|
*/
|
||||||
|
onError?(error: TestError): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when something has been written to the standard error in the worker process.
|
||||||
|
* @param chunk Output chunk.
|
||||||
|
* @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
|
||||||
|
* @param result Result of the test run, this object gets populated while the test runs.
|
||||||
|
*/
|
||||||
|
onStdErr?(chunk: string|Buffer, test: void|TestCase, result: void|TestResult): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when something has been written to the standard output in the worker process.
|
||||||
|
* @param chunk Output chunk.
|
||||||
|
* @param test Test that was running. Note that output may happen when no test is running, in which case this will be [void].
|
||||||
|
* @param result Result of the test run, this object gets populated while the test runs.
|
||||||
|
*/
|
||||||
|
onStdOut?(chunk: string|Buffer, test: void|TestCase, result: void|TestResult): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a test step started in the worker process.
|
||||||
|
* @param test Test that the step belongs to.
|
||||||
|
* @param result Result of the test run, this object gets populated while the test runs.
|
||||||
|
* @param step Test step instance that has started.
|
||||||
|
*/
|
||||||
|
onStepBegin?(test: TestCase, result: TestResult, step: TestStep): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when a test step finished in the worker process.
|
||||||
|
* @param test Test that the step belongs to.
|
||||||
|
* @param result Result of the test run.
|
||||||
|
* @param step Test step instance that has finished.
|
||||||
|
*/
|
||||||
|
onStepEnd?(test: TestCase, result: TestResult, step: TestStep): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called after a test has been started in the worker process.
|
||||||
|
* @param test Test that has been started.
|
||||||
|
* @param result Result of the test run, this object gets populated while the test runs.
|
||||||
|
*/
|
||||||
|
onTestBegin?(test: TestCase, result: TestResult): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called after a test has been finished in the worker process.
|
||||||
|
* @param test Test that has been finished.
|
||||||
|
* @param result Result of the test run.
|
||||||
|
*/
|
||||||
|
onTestEnd?(test: TestCase, result: TestResult): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether this reporter uses stdio for reporting. When it does not, Playwright Test could add some output to enhance user
|
||||||
|
* experience.
|
||||||
|
*/
|
||||||
|
printsToStdio?(): boolean;}
|
||||||
|
|
||||||
// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
|
// This is required to not export everything by default. See https://github.com/Microsoft/TypeScript/issues/19545#issuecomment-340490459
|
||||||
export {};
|
export {};
|
||||||
|
@ -83,7 +83,7 @@ class ApiParser {
|
|||||||
* @param {MarkdownNode} spec
|
* @param {MarkdownNode} spec
|
||||||
*/
|
*/
|
||||||
parseMember(spec) {
|
parseMember(spec) {
|
||||||
const match = spec.text.match(/(event|method|property|async method): ([^.]+)\.(.*)/);
|
const match = spec.text.match(/(event|method|property|async method|optional method|optional async method): ([^.]+)\.(.*)/);
|
||||||
if (!match)
|
if (!match)
|
||||||
throw new Error('Invalid member: ' + spec.text);
|
throw new Error('Invalid member: ' + spec.text);
|
||||||
const name = match[3];
|
const name = match[3];
|
||||||
@ -105,10 +105,12 @@ class ApiParser {
|
|||||||
member = Documentation.Member.createEvent(extractLangs(spec), name, returnType, comments);
|
member = Documentation.Member.createEvent(extractLangs(spec), name, returnType, comments);
|
||||||
if (match[1] === 'property')
|
if (match[1] === 'property')
|
||||||
member = Documentation.Member.createProperty(extractLangs(spec), name, returnType, comments, !optional);
|
member = Documentation.Member.createProperty(extractLangs(spec), name, returnType, comments, !optional);
|
||||||
if (match[1] === 'method' || match[1] === 'async method') {
|
if (['method', 'async method', 'optional method', 'optional async method'].includes(match[1])) {
|
||||||
member = Documentation.Member.createMethod(extractLangs(spec), name, [], returnType, comments);
|
member = Documentation.Member.createMethod(extractLangs(spec), name, [], returnType, comments);
|
||||||
if (match[1] === 'async method')
|
if (match[1].includes('async'))
|
||||||
member.async = true;
|
member.async = true;
|
||||||
|
if (match[1].includes('optional'))
|
||||||
|
member.required = false;
|
||||||
}
|
}
|
||||||
const clazz = this.classes.get(match[2]);
|
const clazz = this.classes.get(match[2]);
|
||||||
const existingMember = clazz.membersArray.find(m => m.name === name && m.kind === member.kind);
|
const existingMember = clazz.membersArray.find(m => m.name === name && m.kind === member.kind);
|
||||||
|
@ -285,9 +285,8 @@ Documentation.Member = class {
|
|||||||
* @param {!Array<!Documentation.Member>} argsArray
|
* @param {!Array<!Documentation.Member>} argsArray
|
||||||
* @param {MarkdownNode[]=} spec
|
* @param {MarkdownNode[]=} spec
|
||||||
* @param {boolean=} required
|
* @param {boolean=} required
|
||||||
* @param {string[]=} templates
|
|
||||||
*/
|
*/
|
||||||
constructor(kind, langs, name, type, argsArray, spec = undefined, required = true, templates = []) {
|
constructor(kind, langs, name, type, argsArray, spec = undefined, required = true) {
|
||||||
this.kind = kind;
|
this.kind = kind;
|
||||||
this.langs = langs;
|
this.langs = langs;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
@ -44,15 +44,7 @@ export interface FullResult {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export interface Reporter {
|
export interface Reporter {
|
||||||
printsToStdio?(): boolean;
|
|
||||||
onBegin?(config: FullConfig, suite: Suite): void;
|
onBegin?(config: FullConfig, suite: Suite): void;
|
||||||
onTestBegin?(test: TestCase, result: TestResult): void;
|
|
||||||
onStdOut?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
||||||
onStdErr?(chunk: string | Buffer, test?: TestCase, result?: TestResult): void;
|
|
||||||
onTestEnd?(test: TestCase, result: TestResult): void;
|
|
||||||
onStepBegin?(test: TestCase, result: TestResult, step: TestStep): void;
|
|
||||||
onStepEnd?(test: TestCase, result: TestResult, step: TestStep): void;
|
|
||||||
onError?(error: TestError): void;
|
|
||||||
onEnd?(result: FullResult): void | Promise<void>;
|
onEnd?(result: FullResult): void | Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user