wix-style-react
Version:
wix-style-react
42 lines (34 loc) • 1.63 kB
JavaScript
;
var _pick = require('./pick');
var _pick2 = _interopRequireDefault(_pick);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
describe('pick operator', function () {
it('should return an empty object for non-object input', function () {
expect((0, _pick2.default)(1, ['a'])).toEqual({});
expect((0, _pick2.default)(true, ['a'])).toEqual({});
expect((0, _pick2.default)('', ['a'])).toEqual({});
expect((0, _pick2.default)(null, ['a'])).toEqual({});
expect((0, _pick2.default)(undefined, ['a'])).toEqual({});
expect((0, _pick2.default)(Symbol.for('foo'), ['a'])).toEqual({});
});
it('should return an empty object for invalid paths', function () {
expect((0, _pick2.default)({ a: 1 }, {})).toEqual({});
expect((0, _pick2.default)({ a: 1 }, 1)).toEqual({});
expect((0, _pick2.default)({ a: 1 }, true)).toEqual({});
expect((0, _pick2.default)({ a: 1 }, undefined)).toEqual({});
expect((0, _pick2.default)({ a: 1 }, null)).toEqual({});
expect((0, _pick2.default)({ a: 1 }, Symbol.for('foo'))).toEqual({});
});
it('should pick a single field', function () {
var anObject = { a: 1, b: 2 };
expect((0, _pick2.default)(anObject, 'a')).toEqual({ a: 1 });
});
it('should pick multiple fields', function () {
var anObject = { a: 1, b: 2, c: 3 };
expect((0, _pick2.default)(anObject, ['a', 'c'])).toEqual({ a: 1, c: 3 });
});
it('should ignore missing paths', function () {
var anObject = { a: 1, b: 2 };
expect((0, _pick2.default)(anObject, ['a', 'z'])).toEqual({ a: 1 });
});
});