HEX
Server: Apache
System: Linux server.instantlogomakers.com 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: s2spw (1156)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
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')
})