Skip to content

Commit

Permalink
test: http2 compat response.write() error checks
Browse files Browse the repository at this point in the history
PR-URL: #18859
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information
trivikr authored and BridgeAR committed Feb 22, 2018
1 parent 5782c51 commit a926c1a
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 95 deletions.
95 changes: 0 additions & 95 deletions test/parallel/test-http2-compat-serverresponse-write-no-cb.js

This file was deleted.

52 changes: 52 additions & 0 deletions test/parallel/test-http2-compat-serverresponse-write.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
'use strict';

const {
mustCall,
mustNotCall,
expectsError,
hasCrypto,
skip
} = require('../common');
if (!hasCrypto)
skip('missing crypto');
const { createServer, connect } = require('http2');
const assert = require('assert');

const server = createServer();
server.listen(0, mustCall(() => {
const port = server.address().port;
const url = `http://localhost:${port}`;
const client = connect(url, mustCall(() => {
const request = client.request();
request.resume();
request.on('end', mustCall());
request.on('close', mustCall(() => {
client.close();
}));
}));

server.once('request', mustCall((request, response) => {
// response.write() returns true
assert(response.write('muahaha', 'utf8', mustCall()));

response.stream.close(0, mustCall(() => {
response.on('error', mustNotCall());

// response.write() without cb returns error
expectsError(
() => { response.write('muahaha'); },
{
type: Error,
code: 'ERR_HTTP2_INVALID_STREAM',
message: 'The stream has been destroyed'
}
);

// response.write() with cb returns falsy value
assert(!response.write('muahaha', mustCall()));

client.destroy();
server.close();
}));
}));
}));

0 comments on commit a926c1a

Please sign in to comment.