UNPKG

@mapbox/mr-ui

Version:

UI components for Mapbox projects

67 lines (66 loc) 1.67 kB
"use strict"; var _omit = _interopRequireDefault(require("./omit")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('omit', () => { test('empty arguments work', () => { expect((0, _omit.default)()).toEqual({}); expect((0, _omit.default)({})).toEqual({}); expect((0, _omit.default)(undefined, [])).toEqual({}); }); test('removes unwanted properties', () => { const original = { foo: 1, bar: 2 }; expect((0, _omit.default)(original, ['foo'])).toEqual({ bar: 2 }); expect((0, _omit.default)(original, ['bar'])).toEqual({ foo: 1 }); expect((0, _omit.default)(original, ['foo', 'bar'])).toEqual({}); expect((0, _omit.default)(original, [])).toEqual({ foo: 1, bar: 2 }); }); test('does not confused similar properties', () => { const original = { foo: 1, foop: 2, 'foo-bar': 3, afoo: 4 }; expect((0, _omit.default)(original, ['foo'])).toEqual({ foop: 2, 'foo-bar': 3, afoo: 4 }); }); test('creates a new object', () => { const original = { foo: 1 }; const result = (0, _omit.default)(original, []); expect(result).toEqual({ foo: 1 }); expect(result === original).toBe(false); }); test('maintains references to objects', () => { const original = { foo: 1, bar: { baz: 3 }, baz: 4 }; const result = (0, _omit.default)(original, ['foo', 'baz']); expect(result).toEqual({ bar: { baz: 3 } }); expect(result.bar === original.bar).toBe(true); }); });