def.js 700 B

123456789101112131415161718192021222324
  1. 'use strict';
  2. var defined = require('../');
  3. var test = require('tape');
  4. test('defined-or', function (t) {
  5. var u = void undefined;
  6. t.equal(defined(), u, 'empty arguments');
  7. t.equal(defined(u), u, '1 undefined');
  8. t.equal(defined(u, u), u, '2 undefined');
  9. t.equal(defined(u, u, u, u), u, '4 undefineds');
  10. t.equal(defined(undefined, false, true), false, 'false[0]');
  11. t.equal(defined(false, true), false, 'false[1]');
  12. t.equal(defined(undefined, 0, true), 0, 'zero[0]');
  13. t.equal(defined(0, true), 0, 'zero[1]');
  14. t.equal(defined(3, undefined, 4), 3, 'first arg');
  15. t.equal(defined(undefined, 3, 4), 3, 'second arg');
  16. t.equal(defined(undefined, undefined, 3), 3, 'third arg');
  17. t.end();
  18. });