Skip to content

Commit

Permalink
refactor: use ES6 syntax for the tests
Browse files Browse the repository at this point in the history
  • Loading branch information
darrachequesne committed Dec 7, 2020
1 parent 312bd35 commit f5efa1e
Show file tree
Hide file tree
Showing 7 changed files with 1,081 additions and 1,100 deletions.
10 changes: 3 additions & 7 deletions test/common.js
@@ -1,20 +1,16 @@
/**
* Module dependencies.
*/

var eio = require("..");
const eio = require("..");

/**
* Listen shortcut that fires a callback on an ephemeral port.
*/

exports.listen = function(opts, fn) {
exports.listen = (opts, fn) => {
if ("function" === typeof opts) {
fn = opts;
opts = {};
}

var e = eio.listen(0, opts, function() {
const e = eio.listen(0, opts, () => {
fn(e.httpServer.address().port);
});

Expand Down
160 changes: 78 additions & 82 deletions test/engine.io.js
@@ -1,40 +1,36 @@
/**
* Test dependencies.
*/

var net = require("net");
var eio = require("..");
var listen = require("./common").listen;
var expect = require("expect.js");
var request = require("superagent");
var http = require("http");
const net = require("net");
const eio = require("..");
const listen = require("./common").listen;
const expect = require("expect.js");
const request = require("superagent");
const http = require("http");

/**
* Tests.
*/

describe("engine", function() {
it("should expose protocol number", function() {
describe("engine", () => {
it("should expose protocol number", () => {
expect(eio.protocol).to.be.a("number");
});

it("should be the same version as client", function() {
var version = require("../package").version;
it("should be the same version as client", () => {
const version = require("../package").version;
expect(version).to.be(require("engine.io-client/package").version);
});

describe("engine()", function() {
it("should create a Server when require called with no arguments", function() {
var engine = eio();
describe("engine()", () => {
it("should create a Server when require called with no arguments", () => {
const engine = eio();
expect(engine).to.be.an(eio.Server);
expect(engine.ws).to.be.ok();
});
});

describe("listen", function() {
it("should open a http server that returns 501", function(done) {
listen(function(port) {
request.get("http://localhost:%d/".s(port), function(err, res) {
describe("listen", () => {
it("should open a http server that returns 501", done => {
listen(port => {
request.get("http://localhost:%d/".s(port), (err, res) => {
expect(err).to.be.an(Error);
expect(res.status).to.be(501);
done();
Expand All @@ -43,30 +39,30 @@ describe("engine", function() {
});
});

describe("attach()", function() {
it("should work from require()", function() {
var server = http.createServer();
var engine = eio(server);
describe("attach()", () => {
it("should work from require()", () => {
const server = http.createServer();
const engine = eio(server);

expect(engine).to.be.an(eio.Server);
});

it("should return an engine.Server", function() {
var server = http.createServer();
var engine = eio.attach(server);
it("should return an engine.Server", () => {
const server = http.createServer();
const engine = eio.attach(server);

expect(engine).to.be.an(eio.Server);
});

it("should attach engine to an http server", function(done) {
var server = http.createServer();
it("should attach engine to an http server", done => {
const server = http.createServer();
eio.attach(server);

server.listen(function() {
var uri = "http://localhost:%d/engine.io/default/".s(
server.listen(() => {
const uri = "http://localhost:%d/engine.io/default/".s(
server.address().port
);
request.get(uri, function(err, res) {
request.get(uri, (err, res) => {
expect(err).to.be.an(Error);
expect(res.status).to.be(400);
expect(res.body.code).to.be(0);
Expand All @@ -77,12 +73,12 @@ describe("engine", function() {
});
});

it("should destroy upgrades not handled by engine", function(done) {
var server = http.createServer();
it("should destroy upgrades not handled by engine", done => {
const server = http.createServer();
eio.attach(server, { destroyUpgradeTimeout: 50 });

server.listen(function() {
var client = net.createConnection(server.address().port);
server.listen(() => {
const client = net.createConnection(server.address().port);
client.setEncoding("ascii");
client.write(
[
Expand All @@ -94,24 +90,24 @@ describe("engine", function() {
].join("\r\n")
);

var check = setTimeout(function() {
const check = setTimeout(() => {
done(new Error("Client should have ended"));
}, 100);

client.on("end", function() {
client.on("end", () => {
clearTimeout(check);
done();
});
});
});

it("should not destroy unhandled upgrades with destroyUpgrade:false", function(done) {
var server = http.createServer();
it("should not destroy unhandled upgrades with destroyUpgrade:false", done => {
const server = http.createServer();
eio.attach(server, { destroyUpgrade: false, destroyUpgradeTimeout: 50 });

server.listen(function() {
var client = net.createConnection(server.address().port);
client.on("connect", function() {
server.listen(() => {
const client = net.createConnection(server.address().port);
client.on("connect", () => {
client.setEncoding("ascii");
client.write(
[
Expand All @@ -123,7 +119,7 @@ describe("engine", function() {
].join("\r\n")
);

setTimeout(function() {
setTimeout(() => {
client.removeListener("end", onEnd);
done();
}, 100);
Expand All @@ -137,13 +133,13 @@ describe("engine", function() {
});
});

it("should destroy unhandled upgrades with after a timeout", function(done) {
var server = http.createServer();
it("should destroy unhandled upgrades with after a timeout", done => {
const server = http.createServer();
eio.attach(server, { destroyUpgradeTimeout: 200 });

server.listen(function() {
var client = net.createConnection(server.address().port);
client.on("connect", function() {
server.listen(() => {
const client = net.createConnection(server.address().port);
client.on("connect", () => {
client.setEncoding("ascii");
client.write(
[
Expand All @@ -158,7 +154,7 @@ describe("engine", function() {
// send from client to server
// tests that socket is still alive
// this will not keep the socket open as the server does not handle it
setTimeout(function() {
setTimeout(() => {
client.write("foo");
}, 100);

Expand All @@ -171,23 +167,23 @@ describe("engine", function() {
});
});

it("should not destroy handled upgrades with after a timeout", function(done) {
var server = http.createServer();
it("should not destroy handled upgrades with after a timeout", done => {
const server = http.createServer();
eio.attach(server, { destroyUpgradeTimeout: 100 });

// write to the socket to keep engine.io from closing it by writing before the timeout
server.on("upgrade", function(req, socket) {
server.on("upgrade", (req, socket) => {
socket.write("foo");
socket.on("data", function(chunk) {
socket.on("data", chunk => {
expect(chunk.toString()).to.be("foo");
socket.end();
});
});

server.listen(function() {
var client = net.createConnection(server.address().port);
server.listen(() => {
const client = net.createConnection(server.address().port);

client.on("connect", function() {
client.on("connect", () => {
client.setEncoding("ascii");
client.write(
[
Expand All @@ -200,25 +196,25 @@ describe("engine", function() {
);

// test that socket is still open by writing after the timeout period
setTimeout(function() {
setTimeout(() => {
client.write("foo");
}, 200);

client.on("data", function(data) {});
client.on("data", data => {});

client.on("end", done);
});
});
});

it("should preserve original request listeners", function(done) {
var listeners = 0;
var server = http.createServer(function(req, res) {
it("should preserve original request listeners", done => {
let listeners = 0;
const server = http.createServer((req, res) => {
expect(req && res).to.be.ok();
listeners++;
});

server.on("request", function(req, res) {
server.on("request", (req, res) => {
expect(req && res).to.be.ok();
res.writeHead(200);
res.end("");
Expand All @@ -227,24 +223,24 @@ describe("engine", function() {

eio.attach(server);

server.listen(function() {
var port = server.address().port;
request.get("http://localhost:%d/engine.io/default/".s(port), function(
err,
res
) {
expect(err).to.be.an(Error);
expect(res.status).to.be(400);
expect(res.body.code).to.be(0);
expect(res.body.message).to.be("Transport unknown");
request.get("http://localhost:%d/test".s(port), function(err, res) {
expect(err).to.be(null);
expect(res.status).to.be(200);
expect(listeners).to.eql(2);
server.once("close", done);
server.close();
});
});
server.listen(() => {
const port = server.address().port;
request.get(
"http://localhost:%d/engine.io/default/".s(port),
(err, res) => {
expect(err).to.be.an(Error);
expect(res.status).to.be(400);
expect(res.body.code).to.be(0);
expect(res.body.message).to.be("Transport unknown");
request.get("http://localhost:%d/test".s(port), (err, res) => {
expect(err).to.be(null);
expect(res.status).to.be(200);
expect(listeners).to.eql(2);
server.once("close", done);
server.close();
});
}
);
});
});
});
Expand Down
10 changes: 5 additions & 5 deletions test/fixtures/server-close-upgraded.js
@@ -1,9 +1,9 @@
var eioc = require("engine.io-client");
var listen = require("../common").listen;
const eioc = require("engine.io-client");
const listen = require("../common").listen;

var engine = listen(function(port) {
var socket = new eioc.Socket("ws://localhost:" + port);
socket.on("upgrade", function() {
const engine = listen(port => {
const socket = new eioc.Socket("ws://localhost:" + port);
socket.on("upgrade", () => {
engine.httpServer.close();
engine.close();
});
Expand Down
10 changes: 5 additions & 5 deletions test/fixtures/server-close-upgrading.js
@@ -1,9 +1,9 @@
var eioc = require("engine.io-client");
var listen = require("../common").listen;
const eioc = require("engine.io-client");
const listen = require("../common").listen;

var engine = listen(function(port) {
var socket = new eioc.Socket("ws://localhost:" + port);
socket.on("upgrading", function() {
const engine = listen(port => {
const socket = new eioc.Socket("ws://localhost:" + port);
socket.on("upgrading", () => {
engine.httpServer.close();
engine.close();
});
Expand Down
10 changes: 5 additions & 5 deletions test/fixtures/server-close.js
@@ -1,9 +1,9 @@
var eioc = require("engine.io-client");
var listen = require("../common").listen;
const eioc = require("engine.io-client");
const listen = require("../common").listen;

var engine = listen(function(port) {
var socket = new eioc.Socket("ws://localhost:" + port);
socket.on("open", function() {
const engine = listen(port => {
const socket = new eioc.Socket("ws://localhost:" + port);
socket.on("open", () => {
engine.httpServer.close();
engine.close();
});
Expand Down

0 comments on commit f5efa1e

Please sign in to comment.