HEX
Server: LiteSpeed
System: Linux houston.panomity.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
User: nudepix (1011)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //opt/LC/node_modules/avvio/test/lib/get-plugin-name.test.js
'use strict'

const { test } = require('tap')
const { getPluginName } = require('../../lib/get-plugin-name')
const { kPluginMeta } = require('../../lib/symbols')

test('getPluginName of function', (t) => {
  t.plan(1)

  t.equal(getPluginName(function aPlugin () { }), 'aPlugin')
})

test('getPluginName of async function', (t) => {
  t.plan(1)

  t.equal(getPluginName(async function aPlugin () { }), 'aPlugin')
})

test('getPluginName of arrow function without name', (t) => {
  t.plan(2)

  t.equal(getPluginName(() => { }), '() => { }')
  t.equal(getPluginName(() => { return 'random' }), '() => { return \'random\' }')
})

test('getPluginName of arrow function assigned to variable', (t) => {
  t.plan(1)

  const namedArrowFunction = () => { }
  t.equal(getPluginName(namedArrowFunction), 'namedArrowFunction')
})

test("getPluginName based on Symbol 'plugin-meta' /1", (t) => {
  t.plan(1)

  function plugin () {

  }

  plugin[kPluginMeta] = {}
  t.equal(getPluginName(plugin), 'plugin')
})

test("getPluginName based on Symbol 'plugin-meta' /2", (t) => {
  t.plan(1)

  function plugin () {

  }

  plugin[kPluginMeta] = {
    name: 'fastify-non-existent'
  }
  t.equal(getPluginName(plugin), 'fastify-non-existent')
})

test('getPluginName if null is provided as options', (t) => {
  t.plan(1)

  t.equal(getPluginName(function a () {}, null), 'a')
})

test('getPluginName if name is provided in options', (t) => {
  t.plan(1)

  t.equal(getPluginName(function defaultName () {}, { name: 'providedName' }), 'providedName')
})