test: add a few tests for null values (#3035)

This commit is contained in:
Dmitry Gozman 2020-07-20 09:39:16 -07:00 committed by GitHub
parent 29504c0824
commit cfe3aa3d94
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 2 deletions

View File

@ -256,7 +256,7 @@ export class Response {
}
_requestFinished(error?: Error) {
this._finishedPromiseCallback.call(null, error);
this._finishedPromiseCallback.call(null, error || null);
}
url(): string {

View File

@ -456,7 +456,9 @@ describe('ElementHandle convenience API', function() {
await page.goto(`${server.PREFIX}/dom.html`);
const handle = await page.$('#outer');
expect(await handle.getAttribute('name')).toBe('value');
expect(await handle.getAttribute('foo')).toBe(null);
expect(await page.getAttribute('#outer', 'name')).toBe('value');
expect(await page.getAttribute('#outer', 'foo')).toBe(null);
});
it('innerHTML should work', async({page, server}) => {
await page.goto(`${server.PREFIX}/dom.html`);

View File

@ -78,6 +78,12 @@ describe('BrowserContext({viewport})', function() {
expect(await page.evaluate(() => 'ontouchstart' in window)).toBe(true);
await context.close();
});
it('should report null viewportSize when given null viewport', async({browser, server}) => {
const context = await browser.newContext({ viewport: null });
const page = await context.newPage();
expect(page.viewportSize()).toBe(null);
await context.close();
});
});
describe.skip(FFOX)('viewport.isMobile', () => {

View File

@ -885,6 +885,8 @@ describe('Page.waitForLoadState', () => {
describe('Page.goBack', function() {
it('should work', async({page, server}) => {
expect(await page.goBack()).toBe(null);
await page.goto(server.EMPTY_PAGE);
await page.goto(server.PREFIX + '/grid.html');
@ -1051,6 +1053,12 @@ describe('Page.reload', function() {
await page.reload();
expect(await page.evaluate(() => window._foo)).toBe(undefined);
});
it('should work with data url', async({page, server}) => {
await page.goto('data:text/html,hello');
expect(await page.content()).toContain('hello');
expect(await page.reload()).toBe(null);
expect(await page.content()).toContain('hello');
});
});
describe('Click navigation', function() {

View File

@ -345,13 +345,14 @@ describe('Network Events', function() {
expect(await request.response()).toBeTruthy();
expect(request.frame() === page.mainFrame()).toBe(true);
expect(request.frame().url()).toBe(server.EMPTY_PAGE);
expect(request.failure()).toBe(null);
});
it('should fire events in proper order', async({page, server}) => {
const events = [];
page.on('request', request => events.push('request'));
page.on('response', response => events.push('response'));
const response = await page.goto(server.EMPTY_PAGE);
await response.finished();
expect(await response.finished()).toBe(null);
events.push('requestfinished')
expect(events).toEqual(['request', 'response', 'requestfinished']);
});