puppeteer/test/src/bfcache.spec.ts

48 lines
1.3 KiB
TypeScript

/**
* Copyright 2023 Google Inc. All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import expect from 'expect';
import {launch} from './mocha-utils.js';
describe('BFCache', function () {
it('can navigate to a BFCached page', async () => {
const {httpsServer, page, close} = await launch({
ignoreHTTPSErrors: true,
});
try {
page.setDefaultTimeout(2000);
await page.goto(httpsServer.PREFIX + '/cached/bfcache/index.html');
await Promise.all([page.waitForNavigation(), page.locator('a').click()]);
expect(page.url()).toContain('target.html');
await Promise.all([page.waitForNavigation(), page.goBack()]);
expect(
await page.evaluate(() => {
return document.body.innerText;
})
).toBe('BFCachednext');
} finally {
await close();
}
});
});