chore(rpc): clear the browsercontext test spec (#2739)
This commit is contained in:
parent
db12ddebb3
commit
3e33523ee3
|
|
@ -43,6 +43,8 @@ export type BrowserInitializer = {};
|
||||||
|
|
||||||
|
|
||||||
export interface BrowserContextChannel extends Channel {
|
export interface BrowserContextChannel extends Channel {
|
||||||
|
on(event: 'bindingCall', callback: (params: BindingCallChannel) => void): this;
|
||||||
|
on(event: 'page', callback: (params: PageChannel) => void): this;
|
||||||
addCookies(params: { cookies: types.SetNetworkCookieParam[] }): Promise<void>;
|
addCookies(params: { cookies: types.SetNetworkCookieParam[] }): Promise<void>;
|
||||||
addInitScript(params: { source: string }): Promise<void>;
|
addInitScript(params: { source: string }): Promise<void>;
|
||||||
clearCookies(): Promise<void>;
|
clearCookies(): Promise<void>;
|
||||||
|
|
@ -179,8 +181,8 @@ export type JSHandleInitializer = {
|
||||||
|
|
||||||
|
|
||||||
export interface ElementHandleChannel extends JSHandleChannel {
|
export interface ElementHandleChannel extends JSHandleChannel {
|
||||||
$$eval(params: { selector: string; expression: string, isFunction: boolean, arg: any }): Promise<any>;
|
$$evalExpression(params: { selector: string; expression: string, isFunction: boolean, arg: any }): Promise<any>;
|
||||||
$eval(params: { selector: string; expression: string, isFunction: boolean, arg: any }): Promise<any>;
|
$evalExpression(params: { selector: string; expression: string, isFunction: boolean, arg: any }): Promise<any>;
|
||||||
boundingBox(): Promise<types.Rect | null>;
|
boundingBox(): Promise<types.Rect | null>;
|
||||||
check(params: { options?: types.TimeoutOptions & { force?: boolean } & { noWaitAfter?: boolean } }): Promise<void>;
|
check(params: { options?: types.TimeoutOptions & { force?: boolean } & { noWaitAfter?: boolean } }): Promise<void>;
|
||||||
click(params: { options?: types.PointerActionOptions & types.MouseClickOptions & types.TimeoutOptions & { force?: boolean } & { noWaitAfter?: boolean } }): Promise<void>;
|
click(params: { options?: types.PointerActionOptions & types.MouseClickOptions & types.TimeoutOptions & { force?: boolean } & { noWaitAfter?: boolean } }): Promise<void>;
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,8 @@ export class BrowserContext extends ChannelOwner<BrowserContextChannel, BrowserC
|
||||||
this._pages.add(page);
|
this._pages.add(page);
|
||||||
page._setBrowserContext(this);
|
page._setBrowserContext(this);
|
||||||
});
|
});
|
||||||
channel.on('page', page => this._onPage(Page.from(page)));
|
this._channel.on('bindingCall', bindingCall => this._onBinding(BindingCall.from(bindingCall)));
|
||||||
|
this._channel.on('page', page => this._onPage(Page.from(page)));
|
||||||
}
|
}
|
||||||
|
|
||||||
private _onPage(page: Page): void {
|
private _onPage(page: Page): void {
|
||||||
|
|
|
||||||
|
|
@ -139,13 +139,13 @@ export class ElementHandle<T extends Node = Node> extends JSHandle<T> {
|
||||||
async $eval<R, Arg>(selector: string, pageFunction: FuncOn<Element, Arg, R>, arg: Arg): Promise<R>;
|
async $eval<R, Arg>(selector: string, pageFunction: FuncOn<Element, Arg, R>, arg: Arg): Promise<R>;
|
||||||
async $eval<R>(selector: string, pageFunction: FuncOn<Element, void, R>, arg?: any): Promise<R>;
|
async $eval<R>(selector: string, pageFunction: FuncOn<Element, void, R>, arg?: any): Promise<R>;
|
||||||
async $eval<R, Arg>(selector: string, pageFunction: FuncOn<Element, Arg, R>, arg: Arg): Promise<R> {
|
async $eval<R, Arg>(selector: string, pageFunction: FuncOn<Element, Arg, R>, arg: Arg): Promise<R> {
|
||||||
return await this._elementChannel.$eval({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === 'function', arg: convertArg(arg) });
|
return await this._elementChannel.$evalExpression({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === 'function', arg: convertArg(arg) });
|
||||||
}
|
}
|
||||||
|
|
||||||
async $$eval<R, Arg>(selector: string, pageFunction: FuncOn<Element[], Arg, R>, arg: Arg): Promise<R>;
|
async $$eval<R, Arg>(selector: string, pageFunction: FuncOn<Element[], Arg, R>, arg: Arg): Promise<R>;
|
||||||
async $$eval<R>(selector: string, pageFunction: FuncOn<Element[], void, R>, arg?: any): Promise<R>;
|
async $$eval<R>(selector: string, pageFunction: FuncOn<Element[], void, R>, arg?: any): Promise<R>;
|
||||||
async $$eval<R, Arg>(selector: string, pageFunction: FuncOn<Element[], Arg, R>, arg: Arg): Promise<R> {
|
async $$eval<R, Arg>(selector: string, pageFunction: FuncOn<Element[], Arg, R>, arg: Arg): Promise<R> {
|
||||||
return await this._elementChannel.$$eval({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === 'function', arg: convertArg(arg) });
|
return await this._elementChannel.$$evalExpression({ selector, expression: String(pageFunction), isFunction: typeof pageFunction === 'function', arg: convertArg(arg) });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,7 @@ export class BrowserContextDispatcher extends Dispatcher<BrowserContext, Browser
|
||||||
}
|
}
|
||||||
|
|
||||||
async exposeBinding(params: { name: string }): Promise<void> {
|
async exposeBinding(params: { name: string }): Promise<void> {
|
||||||
this._context.exposeBinding(params.name, (source, ...args) => {
|
await this._context.exposeBinding(params.name, (source, ...args) => {
|
||||||
const bindingCall = new BindingCallDispatcher(this._scope, params.name, source, args);
|
const bindingCall = new BindingCallDispatcher(this._scope, params.name, source, args);
|
||||||
this._dispatchEvent('bindingCall', bindingCall);
|
this._dispatchEvent('bindingCall', bindingCall);
|
||||||
return bindingCall.promise();
|
return bindingCall.promise();
|
||||||
|
|
|
||||||
|
|
@ -153,11 +153,11 @@ export class ElementHandleDispatcher extends JSHandleDispatcher implements Eleme
|
||||||
return elements.map(e => ElementHandleDispatcher.fromElement(this._scope, e));
|
return elements.map(e => ElementHandleDispatcher.fromElement(this._scope, e));
|
||||||
}
|
}
|
||||||
|
|
||||||
async $eval(params: { selector: string, expression: string, isFunction: boolean, arg: any }): Promise<any> {
|
async $evalExpression(params: { selector: string, expression: string, isFunction: boolean, arg: any }): Promise<any> {
|
||||||
return this._elementHandle._$evalExpression(params.selector, params.expression, params.isFunction, convertArg(this._scope, params.arg));
|
return this._elementHandle._$evalExpression(params.selector, params.expression, params.isFunction, convertArg(this._scope, params.arg));
|
||||||
}
|
}
|
||||||
|
|
||||||
async $$eval(params: { selector: string, expression: string, isFunction: boolean, arg: any }): Promise<any> {
|
async $$evalExpression(params: { selector: string, expression: string, isFunction: boolean, arg: any }): Promise<any> {
|
||||||
return this._elementHandle._$$evalExpression(params.selector, params.expression, params.isFunction, convertArg(this._scope, params.arg));
|
return this._elementHandle._$$evalExpression(params.selector, params.expression, params.isFunction, convertArg(this._scope, params.arg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ import * as js from '../../javascript';
|
||||||
import { JSHandleChannel, JSHandleInitializer } from '../channels';
|
import { JSHandleChannel, JSHandleInitializer } from '../channels';
|
||||||
import { Dispatcher, DispatcherScope } from '../dispatcher';
|
import { Dispatcher, DispatcherScope } from '../dispatcher';
|
||||||
import { convertArg } from './frameDispatcher';
|
import { convertArg } from './frameDispatcher';
|
||||||
|
import { ElementHandleDispatcher } from './elementHandlerDispatcher';
|
||||||
|
|
||||||
export class JSHandleDispatcher extends Dispatcher<js.JSHandle, JSHandleInitializer> implements JSHandleChannel {
|
export class JSHandleDispatcher extends Dispatcher<js.JSHandle, JSHandleInitializer> implements JSHandleChannel {
|
||||||
|
|
||||||
|
|
@ -33,7 +34,7 @@ export class JSHandleDispatcher extends Dispatcher<js.JSHandle, JSHandleInitiali
|
||||||
|
|
||||||
async evaluateExpressionHandle(params: { expression: string, isFunction: boolean, arg: any}): Promise<JSHandleChannel> {
|
async evaluateExpressionHandle(params: { expression: string, isFunction: boolean, arg: any}): Promise<JSHandleChannel> {
|
||||||
const jsHandle = await this._object._evaluateExpression(params.expression, params.isFunction, false /* returnByValue */, convertArg(this._scope, params.arg));
|
const jsHandle = await this._object._evaluateExpression(params.expression, params.isFunction, false /* returnByValue */, convertArg(this._scope, params.arg));
|
||||||
return new JSHandleDispatcher(this._scope, jsHandle);
|
return ElementHandleDispatcher.from(this._scope, jsHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
async getPropertyList(): Promise<{ name: string, value: JSHandleChannel }[]> {
|
async getPropertyList(): Promise<{ name: string, value: JSHandleChannel }[]> {
|
||||||
|
|
|
||||||
|
|
@ -84,7 +84,7 @@ export class PageDispatcher extends Dispatcher<Page, PageInitializer> implements
|
||||||
}
|
}
|
||||||
|
|
||||||
async exposeBinding(params: { name: string }): Promise<void> {
|
async exposeBinding(params: { name: string }): Promise<void> {
|
||||||
this._page.exposeBinding(params.name, (source, ...args) => {
|
await this._page.exposeBinding(params.name, (source, ...args) => {
|
||||||
const bindingCall = new BindingCallDispatcher(this._scope, params.name, source, args);
|
const bindingCall = new BindingCallDispatcher(this._scope, params.name, source, args);
|
||||||
this._dispatchEvent('bindingCall', bindingCall);
|
this._dispatchEvent('bindingCall', bindingCall);
|
||||||
return bindingCall.promise();
|
return bindingCall.promise();
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue