a887d5f929
* Added failing test - u.reject should return same instance if no changes. * `u.reject` now returns the same instance if nothing rejected
39 lines
988 B
JavaScript
39 lines
988 B
JavaScript
import { expect } from 'chai';
|
|
import u from '../lib';
|
|
|
|
describe('u.reject', () => {
|
|
it('can reject by index', () => {
|
|
const result = u.reject((_, index) => index === 1, [3, 4, 5]);
|
|
|
|
expect(result).to.eql([3, 5]);
|
|
});
|
|
|
|
it('can reject with callback shorthand', () => {
|
|
const result = u.reject('bad', [{ bad: true }, { bad: false }]);
|
|
|
|
expect(result).to.eql([{ bad: false }]);
|
|
});
|
|
|
|
it('returns the same instance if reject doesn\'t make changes', () => {
|
|
const object = { foo: [1, 2, 3] };
|
|
const result = u({
|
|
foo: u.reject(x => x === 'Justin Bieber'),
|
|
}, object);
|
|
|
|
expect(result).to.equal(object);
|
|
});
|
|
|
|
it('returns a different instance if reject makes changes', () => {
|
|
const object = { foo: [1, 2, 3, 4] };
|
|
const result = u({
|
|
foo: u.reject(x => x === 4),
|
|
}, object);
|
|
|
|
expect(result).to.not.equal(object);
|
|
});
|
|
|
|
it('freezes the result', () => {
|
|
expect(Object.isFrozen(u.reject('a', []))).to.be.true;
|
|
});
|
|
});
|