docs: fix leftover broken Node.js code snippets (#23919)

This commit is contained in:
Max Schmitt 2023-06-27 14:39:44 +02:00 committed by GitHub
parent 9980f054bc
commit 138e143030
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 51 additions and 50 deletions

View file

@ -98,23 +98,23 @@ Here's how to polyfill `waitForAngular` function in Playwright Test:
```js
async function waitForAngular(page) {
const clientSideScripts = require('protractor/built/clientsidescripts.js');
const clientSideScripts = require('protractor/built/clientsidescripts.js');
async function executeScriptAsync(page, script, ...scriptArgs) {
await page.evaluate(`
new Promise((resolve, reject) => {
const callback = (errMessage) => {
if (errMessage)
reject(new Error(errMessage));
else
resolve();
};
(function() {${script}}).apply(null, [...${JSON.stringify(scriptArgs)}, callback]);
})
`);
}
async function executeScriptAsync(page, script, ...scriptArgs) {
await page.evaluate(`
new Promise((resolve, reject) => {
const callback = (errMessage) => {
if (errMessage)
reject(new Error(errMessage));
else
resolve();
};
(function() {${script}}).apply(null, [...${JSON.stringify(scriptArgs)}, callback]);
})
`);
}
await executeScriptAsync(page, clientSideScripts.waitForAngular, '');
await executeScriptAsync(page, clientSideScripts.waitForAngular, '');
}
```
If you don't want to keep a version protractor around, you can also use this simpler approach using this function (only works for Angular 2+):

View file

@ -135,7 +135,7 @@ self.addEventListener('fetch', event => {
event.respondWith(responsePromise);
});
self.addEventListener('activate', (event) => {
self.addEventListener('activate', event => {
event.waitUntil(clients.claim());
});
```
@ -180,9 +180,9 @@ Consider the code snippets below to understand Playwright's view into the Reques
```js title="complex-service-worker.js"
self.addEventListener('install', function (event) {
self.addEventListener('install', function(event) {
event.waitUntil(
caches.open('v1').then(function (cache) {
caches.open('v1').then(function(cache) {
// 1. Pre-fetches and caches /addressbook.json
return cache.add('/addressbook.json');
})
@ -190,22 +190,23 @@ self.addEventListener('install', function (event) {
});
// Opt to handle FetchEvent's from the page
self.addEventListener('fetch', (event) => {
self.addEventListener('fetch', event => {
event.respondWith(
(async () => {
// 1. Try to first serve directly from caches
let response = await caches.match(event.request);
const response = await caches.match(event.request);
if (response) return response;
// 2. Re-write request for /foo to /bar
if (event.request.url.endsWith('foo')) return fetch('./bar');
// 3. Prevent tracker.js from being retrieved, and returns a placeholder response
if (event.request.url.endsWith('tracker.js'))
return new Response('console.log('no trackers!')', {
if (event.request.url.endsWith('tracker.js')) {
return new Response('console.log("no trackers!")', {
status: 200,
headers: { 'Content-Type': 'text/javascript' },
});
}
// 4. Otherwise, fallthrough, perform the fetch and respond
return fetch(event.request);
@ -213,7 +214,7 @@ self.addEventListener('fetch', (event) => {
);
});
self.addEventListener('activate', (event) => {
self.addEventListener('activate', event => {
event.waitUntil(clients.claim());
});
```

View file

@ -327,7 +327,7 @@ async function globalSetup(config: FullConfig) {
await context.storageState({ path: storageState as string });
await context.tracing.stop({
path: './test-results/setup-trace.zip',
})
});
await browser.close();
} catch (error) {
await context.tracing.stop({