Skip to content

Commit

Permalink
[test] Reorganize some tests
Browse files Browse the repository at this point in the history
  • Loading branch information
lpinca committed Aug 21, 2021
1 parent 7647a89 commit ea6c054
Showing 1 changed file with 107 additions and 107 deletions.
214 changes: 107 additions & 107 deletions test/websocket.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2866,113 +2866,6 @@ describe('WebSocket', () => {
});
});

it('can send and receive text data', (done) => {
const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send('hi', { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from('hi'));
assert.ok(!isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
ws.send(message, { binary: isBinary, compress: true });
});
});
});

it('can send and receive a `TypedArray`', (done) => {
const array = new Float32Array(5);

for (let i = 0; i < array.length; i++) {
array[i] = i / 2;
}

const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send(array, { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from(array.buffer));
assert.ok(isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
assert.ok(isBinary);
ws.send(message, { compress: true });
});
});
});

it('can send and receive an `ArrayBuffer`', (done) => {
const array = new Float32Array(5);

for (let i = 0; i < array.length; i++) {
array[i] = i / 2;
}

const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send(array.buffer, { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from(array.buffer));
assert.ok(isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
assert.ok(isBinary);
ws.send(message, { compress: true });
});
});
});

it('consumes all received data when connection is closed (1/2)', (done) => {
const wss = new WebSocket.Server(
{
Expand Down Expand Up @@ -3167,6 +3060,113 @@ describe('WebSocket', () => {
});

describe('#send', () => {
it('can send text data', (done) => {
const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send('hi', { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from('hi'));
assert.ok(!isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
ws.send(message, { binary: isBinary, compress: true });
});
});
});

it('can send a `TypedArray`', (done) => {
const array = new Float32Array(5);

for (let i = 0; i < array.length; i++) {
array[i] = i / 2;
}

const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send(array, { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from(array.buffer));
assert.ok(isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
assert.ok(isBinary);
ws.send(message, { compress: true });
});
});
});

it('can send an `ArrayBuffer`', (done) => {
const array = new Float32Array(5);

for (let i = 0; i < array.length; i++) {
array[i] = i / 2;
}

const wss = new WebSocket.Server(
{
perMessageDeflate: { threshold: 0 },
port: 0
},
() => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
perMessageDeflate: { threshold: 0 }
});

ws.on('open', () => {
ws.send(array.buffer, { compress: true });
ws.close();
});

ws.on('message', (message, isBinary) => {
assert.deepStrictEqual(message, Buffer.from(array.buffer));
assert.ok(isBinary);
wss.close(done);
});
}
);

wss.on('connection', (ws) => {
ws.on('message', (message, isBinary) => {
assert.ok(isBinary);
ws.send(message, { compress: true });
});
});
});

it('ignores the `compress` option if the extension is disabled', (done) => {
const wss = new WebSocket.Server({ port: 0 }, () => {
const ws = new WebSocket(`ws://localhost:${wss.address().port}`, {
Expand Down

0 comments on commit ea6c054

Please sign in to comment.