HEX
Server: nginx/1.28.1
System: Linux 10-41-63-61 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64
User: www (1001)
PHP: 7.4.33
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,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_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/server/nodejs/v16.9.0/lib/node_modules/npm/node_modules/defaults/test.js
var defaults = require('./'),
    test = require('tap').test;

test("ensure options is an object", function(t) {
  var options = defaults(false, { a : true });
  t.ok(options.a);
  t.end()
});

test("ensure defaults override keys", function(t) {
  var result = defaults({}, { a: false, b: true });
  t.ok(result.b, 'b merges over undefined');
  t.equal(result.a, false, 'a merges over undefined');
  t.end();
});

test("ensure defined keys are not overwritten", function(t) {
  var result = defaults({ b: false }, { a: false, b: true });
  t.equal(result.b, false, 'b not merged');
  t.equal(result.a, false, 'a merges over undefined');
  t.end();
});

test("ensure defaults clone nested objects", function(t) {
  var d = { a: [1,2,3], b: { hello : 'world' } };
  var result = defaults({}, d);
  t.equal(result.a.length, 3, 'objects should be clones');
  t.ok(result.a !== d.a, 'objects should be clones');

  t.equal(Object.keys(result.b).length, 1, 'objects should be clones');
  t.ok(result.b !== d.b, 'objects should be clones');
  t.end();
});