Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/modules / ___dist / chain-able / test / is / simple.js
Size: Mime:
"use strict";

const stress = require("../_stress");

const _require = require("./"),
      isObj = _require.isObj,
      isDate = _require.isDate,
      isRegExp = _require.isRegExp,
      isArray = _require.isArray,
      isError = _require.isError,
      isFunction = _require.isFunction,
      isNil = _require.isNil;

test('should work for objects', () => {
  function Test() {}

  var instance = new Test();
  var literal = {};
  var create = Object.create(null);
  expect(isObj(instance)).toBe(true);
  expect(isObj(literal)).toBe(true);
  expect(isObj(create)).toBe(true);
  stress(isObj);
});
test('should work for dates', () => {
  expect(isDate(new Date())).toBe(true);
  expect(isObj(new Date())).toBe(true);
  stress(isDate);
});
test('should work for arrays', () => {
  expect(isArray([])).toBe(true);
  expect(isArray([1, 2, 3])).toBe(true);
  expect(isArray(new Array())).toBe(true);
  expect(isObj(new Array())).toBe(true);
  stress(isArray);
});
test('should work for regular expressions', () => {
  expect(isRegExp(/[\s\S]+/)).toBe(true);
  expect(isRegExp(new RegExp('^' + 'foo$'))).toBe(true);
  stress(isRegExp);
});
test('should not mark regular expressions as Functions, but they are PureObjects', () => {
  expect(isFunction(/[\s\S]+/)).toBe(false);
  expect(isFunction(new RegExp('^' + 'foo$'))).toBe(false);
  expect(isObj(/[\s\S]+/)).toBe(true);
  expect(isObj(new RegExp('^' + 'foo$'))).toBe(true);
});
test('should work for functions', () => {
  expect(isFunction(t => {})).toBe(true);
  expect(isFunction(new Function())).toBe(true);
  stress(isFunction);
});
test('should work for Errors', () => {
  expect(isError(new Error(''))).toBe(true);
  expect(isObj(new Error(''))).toBe(true);
  stress(isError);
}); // test('isNill', () => {
//   eq(isNil(void 0), true)
//   eq(isNil(null), true)
//   eq(isNil([]), false)
//   eq(isNil({}), false)
//   eq(isNil(0), false)
//   eq(isNil(''), false)
// })