HEX
Server: Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
System: Linux server.mediaphic.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: jolievil (1372)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system,show_source,mail,sendmail,popen,symlink,phpinfo
Upload Files
File: //lib/node_modules/pm2/node_modules/shimmer/test/init.tap.js
'use strict'

var tap = require('tap')
var test = tap.test
var sinon = require('sinon')
var shimmer = require('../index.js')

test('shimmer initialization', function (t) {
  t.plan(4)

  t.doesNotThrow(function () { shimmer() })

  var mock = sinon.expectation
    .create('logger')
    .withArgs('no original function undefined to wrap')
    .once()

  t.doesNotThrow(function () {
    shimmer({ logger: mock })
  }, "initializer doesn't throw")

  t.doesNotThrow(function () {
    shimmer.wrap()
  }, "invoking the wrap method with no params doesn't throw")

  t.doesNotThrow(function () {
    mock.verify()
  }, 'logger method was called with the expected message')
})

test('shimmer initialized with non-function logger', function (t) {
  t.plan(2)

  var mock = sinon.expectation
    .create('logger')
    .withArgs("new logger isn't a function, not replacing")
    .once()

  shimmer({ logger: mock })

  t.doesNotThrow(function () {
    shimmer({ logger: { ham: 'chunx' } })
  }, "even bad initialization doesn't throw")

  t.doesNotThrow(function () {
    mock.verify()
  }, 'logger initialization failed in the expected way')
})