Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 35d6659

Browse filesBrowse files
hiroppyItalo A. Casas
authored andcommitted
test: increase coverage of _http_outgoing
validateHeader: https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js#L376 write: https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js#L477 addTrailers: https://github.com/nodejs/node/blob/master/lib/_http_outgoing.js#L557 PR-URL: #10820 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
1 parent 021338d commit 35d6659
Copy full SHA for 35d6659

File tree

Expand file treeCollapse file tree

1 file changed

+60
-0
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

1 file changed

+60
-0
lines changed
Open diff view settings
Collapse file

‎test/parallel/test-http-outgoing-proto.js‎

Copy file name to clipboardExpand all lines: test/parallel/test-http-outgoing-proto.js
+60Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,63 @@ assert.strictEqual(
1212
typeof ClientRequest.prototype._implicitHeader, 'function');
1313
assert.strictEqual(
1414
typeof ServerResponse.prototype._implicitHeader, 'function');
15+
16+
// validateHeader
17+
assert.throws(() => {
18+
const outgoingMessage = new OutgoingMessage();
19+
outgoingMessage.setHeader();
20+
}, /^TypeError: Header name must be a valid HTTP Token \["undefined"\]$/);
21+
22+
assert.throws(() => {
23+
const outgoingMessage = new OutgoingMessage();
24+
outgoingMessage.setHeader('test');
25+
}, /^Error: "value" required in setHeader\("test", value\)$/);
26+
27+
assert.throws(() => {
28+
const outgoingMessage = new OutgoingMessage();
29+
outgoingMessage.setHeader(404);
30+
}, /^TypeError: Header name must be a valid HTTP Token \["404"\]$/);
31+
32+
assert.throws(() => {
33+
const outgoingMessage = new OutgoingMessage();
34+
outgoingMessage.setHeader.call({_header: 'test'}, 'test', 'value');
35+
}, /^Error: Can't set headers after they are sent.$/);
36+
37+
assert.throws(() => {
38+
const outgoingMessage = new OutgoingMessage();
39+
outgoingMessage.setHeader('200', 'あ');
40+
}, /^TypeError: The header content contains invalid characters$/);
41+
42+
// write
43+
assert.throws(() => {
44+
const outgoingMessage = new OutgoingMessage();
45+
outgoingMessage.write();
46+
}, /^Error: _implicitHeader\(\) method is not implemented$/);
47+
48+
assert(OutgoingMessage.prototype.write.call({_header: 'test'}));
49+
50+
assert.throws(() => {
51+
const outgoingMessage = new OutgoingMessage();
52+
outgoingMessage.write.call({_header: 'test', _hasBody: 'test'});
53+
}, /^TypeError: First argument must be a string or Buffer$/);
54+
55+
assert.throws(() => {
56+
const outgoingMessage = new OutgoingMessage();
57+
outgoingMessage.write.call({_header: 'test', _hasBody: 'test'}, 1);
58+
}, /^TypeError: First argument must be a string or Buffer$/);
59+
60+
// addTrailers
61+
assert.throws(() => {
62+
const outgoingMessage = new OutgoingMessage();
63+
outgoingMessage.addTrailers();
64+
}, /^TypeError: Cannot convert undefined or null to object$/);
65+
66+
assert.throws(() => {
67+
const outgoingMessage = new OutgoingMessage();
68+
outgoingMessage.addTrailers({'あ': 'value'});
69+
}, /^TypeError: Trailer name must be a valid HTTP Token \[""\]$/);
70+
71+
assert.throws(() => {
72+
const outgoingMessage = new OutgoingMessage();
73+
outgoingMessage.addTrailers({404: 'あ'});
74+
}, /^TypeError: The trailer content contains invalid characters$/);

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.