Skip to content

Commit 35d6659

Browse files
hiroppyitaloacasas
authored andcommitted
1 parent 021338d commit 35d6659

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

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

Lines 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)