test: remove stale describe

This commit is contained in:
Pavel 2020-10-30 13:38:54 -07:00
parent c9fa8c08e3
commit 5a9ba55ee2

View file

@ -15,95 +15,92 @@
* limitations under the License. * limitations under the License.
*/ */
import { it, describe, expect } from './fixtures'; import { it, expect } from './fixtures';
describe('web socket', (test, { browserName }) => { it('should work', async ({ page, server }) => {
}, () => { const value = await page.evaluate(port => {
it('should work', async ({ page, server }) => { let cb;
const value = await page.evaluate(port => { const result = new Promise(f => cb = f);
let cb; const ws = new WebSocket('ws://localhost:' + port + '/ws');
const result = new Promise(f => cb = f); ws.addEventListener('message', data => { ws.close(); cb(data.data); });
const ws = new WebSocket('ws://localhost:' + port + '/ws'); return result;
ws.addEventListener('message', data => { ws.close(); cb(data.data); }); }, server.PORT);
return result; expect(value).toBe('incoming');
}, server.PORT); });
expect(value).toBe('incoming');
}); it('should emit close events', async ({ page, server }) => {
let socketClosed;
it('should emit close events', async ({ page, server }) => { const socketClosePromise = new Promise(f => socketClosed = f);
let socketClosed; const log = [];
const socketClosePromise = new Promise(f => socketClosed = f); page.on('websocket', ws => {
const log = []; log.push(`open<${ws.url()}>`);
page.on('websocket', ws => { ws.on('close', () => { log.push('close'); socketClosed(); });
log.push(`open<${ws.url()}>`); });
ws.on('close', () => { log.push('close'); socketClosed(); }); await page.evaluate(port => {
}); const ws = new WebSocket('ws://localhost:' + port + '/ws');
await page.evaluate(port => { ws.addEventListener('open', () => ws.close());
const ws = new WebSocket('ws://localhost:' + port + '/ws'); }, server.PORT);
ws.addEventListener('open', () => ws.close()); await socketClosePromise;
}, server.PORT); expect(log.join(':')).toBe(`open<ws://localhost:${server.PORT}/ws>:close`);
await socketClosePromise; });
expect(log.join(':')).toBe(`open<ws://localhost:${server.PORT}/ws>:close`);
}); it('should emit frame events', async ({ page, server, isFirefox }) => {
let socketClosed;
it('should emit frame events', async ({ page, server, isFirefox }) => { const socketClosePromise = new Promise(f => socketClosed = f);
let socketClosed; const log = [];
const socketClosePromise = new Promise(f => socketClosed = f); page.on('websocket', ws => {
const log = []; log.push('open');
page.on('websocket', ws => { ws.on('framesent', d => log.push('sent<' + d.payload + '>'));
log.push('open'); ws.on('framereceived', d => log.push('received<' + d.payload + '>'));
ws.on('framesent', d => log.push('sent<' + d.payload + '>')); ws.on('close', () => { log.push('close'); socketClosed(); });
ws.on('framereceived', d => log.push('received<' + d.payload + '>')); });
ws.on('close', () => { log.push('close'); socketClosed(); }); await page.evaluate(port => {
}); const ws = new WebSocket('ws://localhost:' + port + '/ws');
await page.evaluate(port => { ws.addEventListener('open', () => ws.send('outgoing'));
const ws = new WebSocket('ws://localhost:' + port + '/ws'); ws.addEventListener('message', () => { ws.close(); });
ws.addEventListener('open', () => ws.send('outgoing')); }, server.PORT);
ws.addEventListener('message', () => { ws.close(); }); await socketClosePromise;
}, server.PORT); expect(log[0]).toBe('open');
await socketClosePromise; expect(log[3]).toBe('close');
expect(log[0]).toBe('open'); log.sort();
expect(log[3]).toBe('close'); expect(log.join(':')).toBe('close:open:received<incoming>:sent<outgoing>');
log.sort(); });
expect(log.join(':')).toBe('close:open:received<incoming>:sent<outgoing>');
}); it('should emit binary frame events', async ({ page, server }) => {
let doneCallback;
it('should emit binary frame events', async ({ page, server }) => { const donePromise = new Promise(f => doneCallback = f);
let doneCallback; const sent = [];
const donePromise = new Promise(f => doneCallback = f); page.on('websocket', ws => {
const sent = []; ws.on('close', doneCallback);
page.on('websocket', ws => { ws.on('framesent', d => sent.push(d.payload));
ws.on('close', doneCallback); });
ws.on('framesent', d => sent.push(d.payload)); await page.evaluate(port => {
}); const ws = new WebSocket('ws://localhost:' + port + '/ws');
await page.evaluate(port => { ws.addEventListener('open', () => {
const ws = new WebSocket('ws://localhost:' + port + '/ws'); const binary = new Uint8Array(5);
ws.addEventListener('open', () => { for (let i = 0; i < 5; ++i)
const binary = new Uint8Array(5); binary[i] = i;
for (let i = 0; i < 5; ++i) ws.send('text');
binary[i] = i; ws.send(binary);
ws.send('text'); ws.close();
ws.send(binary); });
ws.close(); }, server.PORT);
}); await donePromise;
}, server.PORT); expect(sent[0]).toBe('text');
await donePromise; for (let i = 0; i < 5; ++i)
expect(sent[0]).toBe('text'); expect(sent[1][i]).toBe(i);
for (let i = 0; i < 5; ++i) });
expect(sent[1][i]).toBe(i);
}); it('should emit error', async ({page, server, isFirefox}) => {
let callback;
it('should emit error', async ({page, server, isFirefox}) => { const result = new Promise(f => callback = f);
let callback; page.on('websocket', ws => ws.on('socketerror', callback));
const result = new Promise(f => callback = f); page.evaluate(port => {
page.on('websocket', ws => ws.on('socketerror', callback)); new WebSocket('ws://localhost:' + port + '/bogus-ws');
page.evaluate(port => { }, server.PORT);
new WebSocket('ws://localhost:' + port + '/bogus-ws'); const message = await result;
}, server.PORT); if (isFirefox)
const message = await result; expect(message).toBe('CLOSE_ABNORMAL');
if (isFirefox) else
expect(message).toBe('CLOSE_ABNORMAL'); expect(message).toContain(': 400');
else
expect(message).toContain(': 400');
});
}); });