test: refactor code to use common.mustCall

PR-URL: https://github.com/nodejs/node/pull/17437
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
This commit is contained in:
Mithun Sasidharan 2017-12-04 09:07:07 +05:30 committed by Anatoli Papirovski
parent 3d43bce045
commit bb59063807
No known key found for this signature in database
GPG Key ID: 614E2E1ABEB4B2C0

View File

@ -20,44 +20,39 @@
// USE OR OTHER DEALINGS IN THE SOFTWARE.
'use strict';
require('../common');
const common = require('../common');
const assert = require('assert');
const http = require('http');
let test = 1;
const server = http.createServer();
const server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
if (test === 1) {
// write should accept string
res.write('string');
// write should accept buffer
res.write(Buffer.from('asdf'));
// write should not accept an Array
assert.throws(function() {
res.write(['array']);
}, TypeError, 'first argument must be a string or Buffer');
// end should not accept an Array
assert.throws(function() {
res.end(['moo']);
}, TypeError, 'first argument must be a string or Buffer');
// end should accept string
res.end('string');
} else if (test === 2) {
// end should accept Buffer
server.once('request', common.mustCall((req, res) => {
server.on('request', common.mustCall((req, res) => {
res.end(Buffer.from('asdf'));
}
});
}));
// write should accept string
res.write('string');
// write should accept buffer
res.write(Buffer.from('asdf'));
// write should not accept an Array
assert.throws(function() {
res.write(['array']);
}, TypeError, 'first argument must be a string or Buffer');
// end should not accept an Array
assert.throws(function() {
res.end(['moo']);
}, TypeError, 'first argument must be a string or Buffer');
// end should accept string
res.end('string');
}));
server.listen(0, function() {
// just make a request, other tests handle responses
http.get({ port: this.address().port }, function(res) {
res.resume();
// lazy serial test, because we can only call end once per request
test += 1;
// do it again to test .end(Buffer);
http.get({ port: server.address().port }, function(res) {
res.resume();