diff options
Diffstat (limited to 'tests/node_compat/test/parallel/test-http-outgoing-renderHeaders.js')
-rw-r--r-- | tests/node_compat/test/parallel/test-http-outgoing-renderHeaders.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/tests/node_compat/test/parallel/test-http-outgoing-renderHeaders.js b/tests/node_compat/test/parallel/test-http-outgoing-renderHeaders.js new file mode 100644 index 000000000..194a9345a --- /dev/null +++ b/tests/node_compat/test/parallel/test-http-outgoing-renderHeaders.js @@ -0,0 +1,57 @@ +// deno-fmt-ignore-file +// deno-lint-ignore-file + +// Copyright Joyent and Node contributors. All rights reserved. MIT license. +// Taken from Node 18.12.1 +// This file is automatically generated by `tools/node_compat/setup.ts`. Do not modify this file manually. + +'use strict'; +// Flags: --expose-internals + +require('../common'); +const assert = require('assert'); + +const kOutHeaders = require('internal/http').kOutHeaders; +const http = require('http'); +const OutgoingMessage = http.OutgoingMessage; + +{ + const outgoingMessage = new OutgoingMessage(); + outgoingMessage._header = {}; + assert.throws( + () => outgoingMessage._renderHeaders(), + { + code: 'ERR_HTTP_HEADERS_SENT', + name: 'Error', + message: 'Cannot render headers after they are sent to the client' + } + ); +} + +{ + const outgoingMessage = new OutgoingMessage(); + outgoingMessage[kOutHeaders] = null; + const result = outgoingMessage._renderHeaders(); + assert.deepStrictEqual(result, {}); +} + + +{ + const outgoingMessage = new OutgoingMessage(); + outgoingMessage[kOutHeaders] = {}; + const result = outgoingMessage._renderHeaders(); + assert.deepStrictEqual(result, {}); +} + +{ + const outgoingMessage = new OutgoingMessage(); + outgoingMessage[kOutHeaders] = { + host: ['host', 'nodejs.org'], + origin: ['Origin', 'localhost'] + }; + const result = outgoingMessage._renderHeaders(); + assert.deepStrictEqual(result, { + host: 'nodejs.org', + Origin: 'localhost' + }); +} |