From 01829d9a58d8ad2e40ca9aa81237ae5a6c9745b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=CC=81?= Date: Wed, 16 Oct 2024 23:08:30 +0200 Subject: [PATCH] refactored review findings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: René --- .../playwright-core/src/client/tracing.ts | 2 +- .../playwright-core/src/protocol/validator.ts | 20 ++++++------- .../server/dispatchers/tracingDispatcher.ts | 4 +-- .../src/server/trace/recorder/tracing.ts | 4 +-- packages/protocol/src/channels.ts | 28 ++++++++++--------- packages/protocol/src/protocol.yml | 27 ++++++++---------- 6 files changed, 42 insertions(+), 43 deletions(-) diff --git a/packages/playwright-core/src/client/tracing.ts b/packages/playwright-core/src/client/tracing.ts index 5c7796c103..a85d951388 100644 --- a/packages/playwright-core/src/client/tracing.ts +++ b/packages/playwright-core/src/client/tracing.ts @@ -52,7 +52,7 @@ export class Tracing extends ChannelOwner implements ap } async group(name: string, options: { location?: { file: string, line?: number, column?: number } } = {}) { - await this._channel.tracingGroup({ name, options }); + await this._channel.tracingGroup({ name, location: options.location }); } async groupEnd() { diff --git a/packages/playwright-core/src/protocol/validator.ts b/packages/playwright-core/src/protocol/validator.ts index 8b9ea68cdf..1962826ae5 100644 --- a/packages/playwright-core/src/protocol/validator.ts +++ b/packages/playwright-core/src/protocol/validator.ts @@ -26,13 +26,12 @@ scheme.StackFrame = tObject({ column: tNumber, function: tOptional(tString), }); -scheme.Location = tObject({ - file: tString, - line: tOptional(tNumber), - column: tOptional(tNumber), -}); scheme.Metadata = tObject({ - location: tOptional(tType('Location')), + location: tOptional(tObject({ + file: tString, + line: tOptional(tNumber), + column: tOptional(tNumber), + })), apiName: tOptional(tString), internal: tOptional(tBoolean), stepId: tOptional(tString), @@ -2281,9 +2280,6 @@ scheme.DialogAcceptParams = tObject({ scheme.DialogAcceptResult = tOptional(tObject({})); scheme.DialogDismissParams = tOptional(tObject({})); scheme.DialogDismissResult = tOptional(tObject({})); -scheme.TracingGroupOptions = tObject({ - location: tOptional(tType('Location')), -}); scheme.TracingInitializer = tOptional(tObject({})); scheme.TracingTracingStartParams = tObject({ name: tOptional(tString), @@ -2301,7 +2297,11 @@ scheme.TracingTracingStartChunkResult = tObject({ }); scheme.TracingTracingGroupParams = tObject({ name: tString, - options: tType('TracingGroupOptions'), + location: tOptional(tObject({ + file: tString, + line: tOptional(tNumber), + column: tOptional(tNumber), + })), }); scheme.TracingTracingGroupResult = tOptional(tObject({})); scheme.TracingTracingGroupEndParams = tOptional(tObject({})); diff --git a/packages/playwright-core/src/server/dispatchers/tracingDispatcher.ts b/packages/playwright-core/src/server/dispatchers/tracingDispatcher.ts index adfcda84af..5555de15d1 100644 --- a/packages/playwright-core/src/server/dispatchers/tracingDispatcher.ts +++ b/packages/playwright-core/src/server/dispatchers/tracingDispatcher.ts @@ -43,8 +43,8 @@ export class TracingDispatcher extends Dispatcher { - const { name, options } = params; - await this._object.group(name, options, metadata); + const { name, location } = params; + await this._object.group(name, location, metadata); } async tracingGroupEnd(params: channels.TracingTracingGroupEndParams): Promise { diff --git a/packages/playwright-core/src/server/trace/recorder/tracing.ts b/packages/playwright-core/src/server/trace/recorder/tracing.ts index da603c72b8..6566ab8f2f 100644 --- a/packages/playwright-core/src/server/trace/recorder/tracing.ts +++ b/packages/playwright-core/src/server/trace/recorder/tracing.ts @@ -196,11 +196,11 @@ export class Tracing extends SdkObject implements InstrumentationListener, Snaps return { traceName: this._state.traceName }; } - async group(name: string, options: { location?: { file: string, line?: number, column?: number } } = {}, metadata: CallMetadata): Promise { + async group(name: string, location: { file: string, line?: number, column?: number } | undefined, metadata: CallMetadata): Promise { if (!this._state) return; const stackFrames: StackFrame[] = []; - const { file, line, column } = options.location ?? metadata.location ?? {}; + const { file, line, column } = location ?? metadata.location ?? {}; if (file) { stackFrames.push({ file, diff --git a/packages/protocol/src/channels.ts b/packages/protocol/src/channels.ts index cf0bfa7caa..073f9c5486 100644 --- a/packages/protocol/src/channels.ts +++ b/packages/protocol/src/channels.ts @@ -144,14 +144,12 @@ export type StackFrame = { function?: string, }; -export type Location = { - file: string, - line?: number, - column?: number, -}; - export type Metadata = { - location?: Location, + location?: { + file: string, + line?: number, + column?: number, + }, apiName?: string, internal?: boolean, stepId?: string, @@ -4079,10 +4077,6 @@ export type DialogDismissResult = void; export interface DialogEvents { } -export type TracingGroupOptions = { - location?: Location, -}; - // ----------- Tracing ----------- export type TracingInitializer = {}; export interface TracingEventTarget { @@ -4122,10 +4116,18 @@ export type TracingTracingStartChunkResult = { }; export type TracingTracingGroupParams = { name: string, - options: TracingGroupOptions, + location?: { + file: string, + line?: number, + column?: number, + }, }; export type TracingTracingGroupOptions = { - + location?: { + file: string, + line?: number, + column?: number, + }, }; export type TracingTracingGroupResult = void; export type TracingTracingGroupEndParams = {}; diff --git a/packages/protocol/src/protocol.yml b/packages/protocol/src/protocol.yml index faf0f458a1..95c2d6f8bb 100644 --- a/packages/protocol/src/protocol.yml +++ b/packages/protocol/src/protocol.yml @@ -20,19 +20,17 @@ StackFrame: column: number function: string? -Location: - type: object - properties: - file: string - line: number? - column: number? - # This object can be send with any rpc call in the "metadata" field. Metadata: type: object properties: - location: Location? + location: + type: object? + properties: + file: string + line: number? + column: number? apiName: string? internal: boolean? # Test runner step id. @@ -3178,12 +3176,6 @@ Dialog: dismiss: - -TracingGroupOptions: - type: object - properties: - location: Location? - Tracing: type: interface @@ -3206,7 +3198,12 @@ Tracing: tracingGroup: parameters: name: string - options: TracingGroupOptions + location: + type: object? + properties: + file: string + line: number? + column: number? tracingGroupEnd: