Files
socket.io/packages/socket.io-client/test/node.ts
2024-09-18 07:52:12 +02:00

40 lines
1.1 KiB
TypeScript

const path = require("path");
const { exec } = require("child_process");
describe("autoUnref option", function () {
before(function () {
if (process.env.WDIO_WORKER_ID !== undefined) {
return this.skip();
}
});
const fixture = (filename) =>
process.execPath + " " + path.join(__dirname, "fixtures", filename);
it("should stop once the timer is triggered", (done) => {
exec(fixture("unref.ts"), done);
});
it("should stop once the timer is triggered (even when trying to reconnect)", (done) => {
exec(fixture("unref-during-reconnection.ts"), done);
});
it("should stop once the timer is triggered (polling)", (done) => {
exec(fixture("unref-polling-only.ts"), done);
});
it("should stop once the timer is triggered (websocket)", (done) => {
exec(fixture("unref-websocket-only.ts"), done);
});
it("should not stop with autoUnref set to false", (done) => {
const process = exec(fixture("no-unref.ts"), () => {
done(new Error("should not happen"));
});
setTimeout(() => {
process.kill();
done();
}, 100);
});
});