Skip to content

Commit

Permalink
Add Node v8 and v10 to Travis config.
Browse files Browse the repository at this point in the history
Update tests to work on Node v10.x.
Resolves #58
  • Loading branch information
Jimbly committed Feb 13, 2019
1 parent 2195095 commit 9468f67
Show file tree
Hide file tree
Showing 10 changed files with 40 additions and 28 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
@@ -1,3 +1,5 @@
language: node_js
node_js:
- '10'
- '8'
- '6'
4 changes: 2 additions & 2 deletions tests/bench.js
Expand Up @@ -2,7 +2,7 @@
var HTTPParser = require('../http-parser.js').HTTPParser;

var n = 40000;
var request = new Buffer([
var request = Buffer.from([
'GET /favicon.ico HTTP/1.1',
'Host: 0.0.0.0=5000',
'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9) '
Expand All @@ -15,7 +15,7 @@ var request = new Buffer([
'Connection: keep-alive',
'', ''
].join('\r\n'));
var response = new Buffer([
var response = Buffer.from([
'HTTP/1.1 301 Moved Permanently',
'Location: http://www.google.com/',
'Content-Type: text/html; charset=UTF-8',
Expand Down
42 changes: 21 additions & 21 deletions tests/iojs/test-http-parser-durability.js
Expand Up @@ -739,7 +739,7 @@ var cases = [
name: 'utf-8 path request',
type: REQUEST,
raw: [
new Buffer('GET /δ¶/δt/pope?q=1#narf HTTP/1.1', 'utf8')
Buffer.from('GET /δ¶/δt/pope?q=1#narf HTTP/1.1', 'utf8')
.toString('binary'),
'Host: github.com',
'', ''
Expand All @@ -749,7 +749,7 @@ var cases = [
httpMajor: 1,
httpMinor: 1,
method: 'GET',
url: new Buffer('/δ¶/δt/pope?q=1#narf', 'utf8').toString('binary'),
url: Buffer.from('/δ¶/δt/pope?q=1#narf', 'utf8').toString('binary'),
statusCode: null,
statusText: null,
headers: [
Expand Down Expand Up @@ -1721,7 +1721,7 @@ process.setMaxListeners(0);
// Test predefined requests/responses
cases.forEach(function(testCase) {
var parser = new HTTPParser(testCase.type);
var input = new Buffer(testCase.raw, 'binary');
var input = Buffer.from(testCase.raw, 'binary');
var reqEvents = ['onHeaders'];
var completed = false;
var message = {};
Expand Down Expand Up @@ -1826,7 +1826,7 @@ cases.forEach(function(testCase) {
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, Buffer.byteLength(input));
})();

Expand All @@ -1837,10 +1837,10 @@ cases.forEach(function(testCase) {
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, Buffer.byteLength(input));

input = new Buffer('header-key: header-value\r\n');
input = Buffer.from('header-key: header-value\r\n');
for (var i = 0; i < 10000; ++i) {
ret = parser.execute(input);
if (typeof ret !== 'number') {
Expand All @@ -1861,19 +1861,19 @@ cases.forEach(function(testCase) {
type === REQUEST ? 'POST / HTTP/1.0' : 'HTTP/1.0 200 OK',
length
);
var input2 = new Buffer('a');
var input2 = Buffer.from('a');
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, Buffer.byteLength(input));

for (var i = 0; i < length; ++i) {
ret = parser.execute(input2);
assert.strictEqual(ret, 1);
}

ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, Buffer.byteLength(input));
});
});
Expand All @@ -1886,7 +1886,7 @@ cases.forEach(function(testCase) {
var ret;
parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
if (i === 0)
assert.strictEqual(ret, Buffer.byteLength(input));
else {
Expand All @@ -1905,7 +1905,7 @@ cases.forEach(function(testCase) {
var ret;
parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
if (i === 0)
assert.strictEqual(ret, Buffer.byteLength(input));
else {
Expand Down Expand Up @@ -2022,7 +2022,7 @@ cases.forEach(function(testCase) {
for (var i = 0; i < l; i += chunk) {
var toread = Math.min(l - i, chunk);
ret = parser.execute(
new Buffer(expected.raw.slice(i, i + toread), 'binary')
Buffer.from(expected.raw.slice(i, i + toread), 'binary')
);
assert.strictEqual(ret, toread);
}
Expand Down Expand Up @@ -2080,7 +2080,7 @@ console.log('responses okay');
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(typeof ret !== 'number', true);
//assert.strictEqual(/Malformed request line/i.test(ret.message), true);
})();
Expand All @@ -2093,7 +2093,7 @@ console.log('responses okay');
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, input.length);
})();

Expand All @@ -2104,7 +2104,7 @@ console.log('responses okay');
var ret;
parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(typeof ret !== 'number', true);
//assert.strictEqual(/Malformed header line/i.test(ret.message), true);
})();*/
Expand Down Expand Up @@ -2151,7 +2151,7 @@ console.log('responses okay');
var ret;

parser.onHeaders = parser.onBody = parser.onMessageComplete = function() {};
ret = parser.execute(new Buffer(input));
ret = parser.execute(Buffer.from(input));
assert.strictEqual(ret, input.length);
})();

Expand Down Expand Up @@ -2280,7 +2280,7 @@ function testScan(case1, case2, case3) {
hasUpgrade = false;
nb = 0;

ret = parser.execute(new Buffer(total.slice(0, i), 'binary'));
ret = parser.execute(Buffer.from(total.slice(0, i), 'binary'));
assert.strictEqual(typeof ret === 'number', true);
nb += ret;

Expand All @@ -2294,7 +2294,7 @@ function testScan(case1, case2, case3) {
if (!hasUpgrade) {
assert.strictEqual(nb, i);

ret = parser.execute(new Buffer(total.slice(i, j), 'binary'));
ret = parser.execute(Buffer.from(total.slice(i, j), 'binary'));
assert.strictEqual(typeof ret === 'number', true);
nb += ret;

Expand All @@ -2308,7 +2308,7 @@ function testScan(case1, case2, case3) {
if (!hasUpgrade) {
assert.strictEqual(nb, i + (j - i));

ret = parser.execute(new Buffer(total.slice(j), 'binary'));
ret = parser.execute(Buffer.from(total.slice(j), 'binary'));
assert.strictEqual(typeof ret === 'number', true);
nb += ret;

Expand Down Expand Up @@ -2399,7 +2399,7 @@ function testMultiple3(case1, case2, case3) {
message = {};
};

ret = parser.execute(new Buffer(total, 'binary'));
ret = parser.execute(Buffer.from(total, 'binary'));

assert.strictEqual(parser.finish(), undefined);
assert.strictEqual(messages.length, messageCount);
Expand Down Expand Up @@ -2462,7 +2462,7 @@ function createLargeChunkedMessage(bodySizeKB, rawHeaders) {
var wrote = 0;
var headerslen = rawHeaders.length;
var bufsize = headerslen + (5 + 1024 + 2) * bodySizeKB + 5;
var buf = new Buffer(bufsize);
var buf = Buffer.alloc(bufsize);

buf.write(rawHeaders, wrote, headerslen, 'binary');
wrote += headerslen;
Expand Down
3 changes: 3 additions & 0 deletions tests/parallel/test-http-blank-header.js
Expand Up @@ -29,6 +29,9 @@ server.listen(0, function() {
'\r\n\r\nhello world\r\n' //need \r\n at end for http-parser-js to fail
);
});

c.on('data', function () {
});

c.on('end', function() {
c.end();
Expand Down
2 changes: 1 addition & 1 deletion tests/parallel/test-http-invalid-urls.js
Expand Up @@ -11,7 +11,7 @@ function test(host) {
[http, https].forEach((module) => {
assert.throws(() => module[method](host, () => {
throw new Error(`${module}.${method} should not connect to ${host}`);
}), error);
}), `${error} ${host}`);
});
});
}
Expand Down
6 changes: 5 additions & 1 deletion tests/parallel/test-http-request-end-twice.js
Expand Up @@ -10,7 +10,11 @@ var server = http.Server(function(req, res) {
server.listen(0, function() {
var req = http.get({port: this.address().port}, function(res) {
res.on('end', function() {
assert.ok(!req.end());
if (parseInt(process.versions.node) < 10) {
assert.ok(!req.end());
} else {
assert.equal(req.end(), req);
}
server.close();
});
res.resume();
Expand Down
2 changes: 1 addition & 1 deletion tests/parallel/test-http-server-multiheaders2.js
Expand Up @@ -54,7 +54,7 @@ var srv = http.createServer(function(req, res) {
'foo', 'header parsed incorrectly: ' + header);
});
multipleAllowed.forEach(function(header) {
const sep = (process.version < 'v8.0') ? ', ' : (header.toLowerCase() === 'cookie' ? '; ' : ', ');
const sep = parseInt(process.versions.node) < 8 ? ', ' : (header.toLowerCase() === 'cookie' ? '; ' : ', ');
assert.strictEqual(req.headers[header.toLowerCase()], `foo${sep}bar`,
`header parsed incorrectly: ${header}`);
});
Expand Down
2 changes: 1 addition & 1 deletion tests/parallel/test-http-unix-socket.js
Expand Up @@ -46,7 +46,7 @@ server.listen(common.PIPE, function() {
server.close(function(error) {
assert.equal(error, undefined);
server.close(function(error) {
assert.equal(error && error.message, 'Not running');
assert.equal(error && error.message, parseInt(process.versions.node) < 10 ? 'Not running' : 'Server is not running.');
});
});
});
Expand Down
3 changes: 3 additions & 0 deletions tests/parallel/test-http-upgrade-server.js
Expand Up @@ -112,6 +112,9 @@ function test_upgrade_no_listener() {
'Connection: Upgrade\r\n' +
'\r\n');
});

conn.on('data', function () {
});

conn.on('end', function() {
test_upgrade_no_listener_ended = true;
Expand Down
2 changes: 1 addition & 1 deletion tests/parallel/test-http-write-head.js
Expand Up @@ -25,7 +25,7 @@ var s = http.createServer(function(req, res) {
res.setHeader('foo', undefined);
} catch (e) {
assert.ok(e instanceof Error);
assert.ok(e.message.indexOf('"value"') != -1);
assert.ok(e.message.indexOf('value') != -1);
threw = true;
}
assert.ok(threw, 'Undefined value should throw');
Expand Down

0 comments on commit 9468f67

Please sign in to comment.