You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
1.1 KiB

1 month ago
  1. 'use strict';
  2. var test = require('tape');
  3. var $Object = require('../');
  4. var isObject = require('../isObject');
  5. var ToObject = require('../ToObject');
  6. var RequireObjectCoercible = require('..//RequireObjectCoercible');
  7. test('errors', function (t) {
  8. t.equal($Object, Object);
  9. // @ts-expect-error
  10. t['throws'](function () { ToObject(null); }, TypeError);
  11. // @ts-expect-error
  12. t['throws'](function () { ToObject(undefined); }, TypeError);
  13. // @ts-expect-error
  14. t['throws'](function () { RequireObjectCoercible(null); }, TypeError);
  15. // @ts-expect-error
  16. t['throws'](function () { RequireObjectCoercible(undefined); }, TypeError);
  17. t.deepEqual(RequireObjectCoercible(true), true);
  18. t.deepEqual(ToObject(true), Object(true));
  19. t.deepEqual(ToObject(42), Object(42));
  20. var f = function () {};
  21. t.equal(ToObject(f), f);
  22. t.equal(isObject(undefined), false);
  23. t.equal(isObject(null), false);
  24. t.equal(isObject({}), true);
  25. t.equal(isObject([]), true);
  26. t.equal(isObject(function () {}), true);
  27. var obj = {};
  28. t.equal(RequireObjectCoercible(obj), obj);
  29. t.equal(ToObject(obj), obj);
  30. t.end();
  31. });