-
Notifications
You must be signed in to change notification settings - Fork 1.3k
/
test_puppeteer_v1.20.x_connect.js
53 lines (51 loc) · 1.77 KB
/
test_puppeteer_v1.20.x_connect.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
// @flow
import puppeteer from 'puppeteer';
import { describe, it } from 'flow-typed-test';
describe('puppeteer.connect', () => {
it('should complain if you pass in a string arg', () => {
// $ExpectError string is incompatible with `ConnectOptions`
puppeteer.connect('testing...');
});
it('should complain if an option arg key is of the wrong type', () => {
// $ExpectError string is incompatible with boolean in property `ignoreHTTPSErrors`
puppeteer.connect({ ignoreHTTPSErrors: 'testing...' });
});
it('should preserve Browser type', () => {
puppeteer.connect().then(browser => {
// $ExpectError string is incompatible with enum
browser.on('response');
browser.newPage().then(page => {
page.on('request', request => {
request.url();
// $ExpectError property `testing` is missing in `Request`
request.testing();
});
});
browser.on('targetcreated', target => {
target.createCDPSession().then(cdpSession => {
// $ExpectError property `connect` is missing in `CDPSession`
cdpSession.connect();
cdpSession.detach();
});
});
});
});
it('should preserve Page type', () => {
puppeteer.connect().then(browser =>
browser.newPage().then(page => {
// $ExpectError string is incompatible with enum in type argument `K`
page.on('testing...');
page.on('request', request => {
request.url();
// $ExpectError property `testing` is missing in `Request`
request.testing();
});
page.on('response', response => {
response.request().url();
// $ExpectError property `testing` is missing in `Response`
response.testing();
});
})
);
});
});