// 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';
const common = require('../common');
const assert = require('assert');

const { OutgoingMessage } = require('http');

{
  // Tests for settimeout method with socket
  const expectedMsecs = 42;
  const outgoingMessage = new OutgoingMessage();
  outgoingMessage.socket = {
    setTimeout: common.mustCall((msecs) => {
      assert.strictEqual(msecs, expectedMsecs);
    })
  };
  outgoingMessage.setTimeout(expectedMsecs);
}

{
  // Tests for settimeout method without socket
  const expectedMsecs = 23;
  const outgoingMessage = new OutgoingMessage();
  outgoingMessage.setTimeout(expectedMsecs);

  outgoingMessage.emit('socket', {
    setTimeout: common.mustCall((msecs) => {
      assert.strictEqual(msecs, expectedMsecs);
    })
  });
}