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 {
|
||||
on(event: 'bindingCall', callback: (params: BindingCallChannel) => void): this;
|
||||
on(event: 'page', callback: (params: PageChannel) => void): this;
|
||||
addCookies(params: { cookies: types.SetNetworkCookieParam[] }): Promise<void>;
|
||||
addInitScript(params: { source: string }): Promise<void>;
|
||||
clearCookies(): Promise<void>;
|
||||
|
|
@ -179,8 +181,8 @@ export type JSHandleInitializer = {
|
|||
|
||||
|
||||
export interface ElementHandleChannel extends JSHandleChannel {
|
||||
$$eval(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>;
|
||||
$evalExpression(params: { selector: string; expression: string, isFunction: boolean, arg: any }): Promise<any>;
|
||||
boundingBox(): Promise<types.Rect | null>;
|
||||
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>;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,8 @@ export class BrowserContext extends ChannelOwner<BrowserContextChannel, BrowserC
|
|||
this._pages.add(page);
|
||||
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 {
|
||||
|
|
|
|||
|
|
@ -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>(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> {
|
||||
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>(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> {
|
||||
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> {
|
||||
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);
|
||||
this._dispatchEvent('bindingCall', bindingCall);
|
||||
return bindingCall.promise();
|
||||
|
|
|
|||
|
|
@ -153,11 +153,11 @@ export class ElementHandleDispatcher extends JSHandleDispatcher implements Eleme
|
|||
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));
|
||||
}
|
||||
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ import * as js from '../../javascript';
|
|||
import { JSHandleChannel, JSHandleInitializer } from '../channels';
|
||||
import { Dispatcher, DispatcherScope } from '../dispatcher';
|
||||
import { convertArg } from './frameDispatcher';
|
||||
import { ElementHandleDispatcher } from './elementHandlerDispatcher';
|
||||
|
||||
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> {
|
||||
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 }[]> {
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ export class PageDispatcher extends Dispatcher<Page, PageInitializer> implements
|
|||
}
|
||||
|
||||
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);
|
||||
this._dispatchEvent('bindingCall', bindingCall);
|
||||
return bindingCall.promise();
|
||||
|
|
|
|||
Loading…
Reference in a new issue