UNPKG

wix-style-react

Version:
46 lines (35 loc) 1.56 kB
'use strict'; var _pickBy = require('./pickBy'); var _pickBy2 = _interopRequireDefault(_pickBy); var _sinon = require('sinon'); var _sinon2 = _interopRequireDefault(_sinon); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('pickBy operator', function () { it('should return an empty object for non-object input', function () { expect((0, _pickBy2.default)(1)).toEqual({}); expect((0, _pickBy2.default)(true)).toEqual({}); expect((0, _pickBy2.default)('')).toEqual({}); expect((0, _pickBy2.default)(null)).toEqual({}); expect((0, _pickBy2.default)(undefined)).toEqual({}); expect((0, _pickBy2.default)(Symbol.for('foo'))).toEqual({}); }); it('should return an empty object for non-function pick function', function () { expect((0, _pickBy2.default)({ a: 1 }, 'not-a-function')).toEqual({}); }); it('should return given input', function () { expect((0, _pickBy2.default)({ a: 1 })).toEqual({ a: 1 }); }); it('should pick input values by predicate', function () { var anObject = { a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }; var biggerThanThree = function biggerThanThree(value) { return value > 3; }; expect((0, _pickBy2.default)(anObject, biggerThanThree)).toEqual({ d: 4, e: 5, f: 6 }); }); it('should call predicate with (value, key)', function () { var anObject = { a: 1 }; var pickFunc = _sinon2.default.spy(); (0, _pickBy2.default)(anObject, pickFunc); expect(pickFunc.calledWithExactly(1, 'a')); }); });