HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
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: //home/evaluation-leave/node_modules/fn.name/test.js
describe('fn.name', function () {
  'use strict';

  var assume = require('assume')
    , name = require('./');

  it('is exported as a function', function () {
    assume(name).is.a('function');
  });

  it('can extract the name from a function declaration', function () {
    function foobar() {}

    assume(name(foobar)).equals('foobar');
  });

  it('can extract the name from a function expression', function () {
    var a = function bar() {};

    assume(name(a)).equals('bar');
  });

  it('can be overriden using displayName', function () {
    var a = function bar() {};
    a.displayName = 'bro';

    assume(name(a)).equals('bro');
  });

  it('works with constructed instances', function () {
    function Bar(){}

    var foo = new Bar();

    assume(name(foo)).equals('Bar');
  });

  it('works with anonymous', function () {
    assume(name(function () {})).equals('anonymous');
  });

  it('returns the className if we were not given a function', function () {
    assume(name('string')).equals('String');
  });

  //
  // Test if the env supports async functions, if so add a test to ensure
  // that we will work with async functions.
  //
  var asyncfn = true;
  try { new Function('return async function hello() {}')(); }
  catch (e) { asyncfn = false; }

  if (asyncfn) it('detects the name of async functions', function () {
    var fn = new Function('return async function hello() {}')();

    assume(name(fn)).equals('hello');
  });

  //
  // Test that this env supports generators, if so add a test to ensure that
  // we will work with generators.
  //
  var generators = true;
  try { new Function('return function* generator() {}')(); }
  catch (e) { generator = false; }

  if (generators) it('detecs the name of a generator', function () {
    var fn = new Function('return function* hello() {}')();

    assume(name(fn)).equals('hello');
  });
});