|
|
|
@ -2,134 +2,99 @@ import * as utils from '../index';
|
|
|
|
|
|
|
|
|
|
describe('reducers utils', () => {
|
|
|
|
|
it('observer changes should BE THE SAME - return false', () => {
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{},
|
|
|
|
|
{},
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
[],
|
|
|
|
|
[],
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
[1, 1, 1],
|
|
|
|
|
[1, 1, 1],
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
'a',
|
|
|
|
|
'a',
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: 1 },
|
|
|
|
|
{ one: 1 },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: 1 } },
|
|
|
|
|
{ one: { two: 1 } },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, 2, 3] } },
|
|
|
|
|
{ one: { two: [1, 2, 3] } },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
expect(utils.observeChanges({}, {})).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges([], [])).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges([1, 1, 1], [1, 1, 1])).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges('a', 'a')).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: 1 }, { one: 1 })).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: { two: 1 } }, { one: { two: 1 } })).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: { two: [1, 2, 3] } }, { one: { two: [1, 2, 3] } })).toBe(
|
|
|
|
|
false
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } }
|
|
|
|
|
)
|
|
|
|
|
).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } }
|
|
|
|
|
)
|
|
|
|
|
).toBe(false);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('observer should NOT be the same - return true', () => {
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
null,
|
|
|
|
|
{},
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: 1 },
|
|
|
|
|
{},
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: 1, three: 3 }, { one: 1, two: 2 },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
[{}, {}],
|
|
|
|
|
[],
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
[1, 1, 1],
|
|
|
|
|
[1, 1],
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
'a',
|
|
|
|
|
'b',
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
['a'],
|
|
|
|
|
['b'],
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
1,
|
|
|
|
|
'1',
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: 1 },
|
|
|
|
|
{ one: 2 },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: 1 } },
|
|
|
|
|
{ one: { two: 2 } },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, 2, 3] } },
|
|
|
|
|
{ one: { two: [1, 1, 3] } },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } },
|
|
|
|
|
{ one: { two: [1, { three: 2 }, 3] } },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 1 } }] } },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { sixxx: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 1 } }] } },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
expect(utils.observeChanges(null, {})).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: 1 }, {})).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: 1, three: 3 }, { one: 1, two: 2 })).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges([{}, {}], [])).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges([1, 1, 1], [1, 1])).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges('a', 'b')).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(['a'], ['b'])).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(1, '1')).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: 1 }, { one: 2 })).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: { two: 1 } }, { one: { two: 2 } })).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges({ one: { two: [1, 2, 3] } }, { one: { two: [1, 1, 3] } })).toBe(
|
|
|
|
|
true
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, 3] } },
|
|
|
|
|
{ one: { two: [1, { three: 2 }, 3] } }
|
|
|
|
|
)
|
|
|
|
|
).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 1 } }] } }
|
|
|
|
|
)
|
|
|
|
|
).toBe(true);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { sixxx: 3 } }] } },
|
|
|
|
|
{ one: { two: [1, { three: 1 }, { four: 3, five: { six: 1 } }] } }
|
|
|
|
|
)
|
|
|
|
|
).toBe(true);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('observeChanges test filter', () => {
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: 2, three: 3 } },
|
|
|
|
|
{ one: { two: 2, three: 4 } },
|
|
|
|
|
{ one: ['two'] },
|
|
|
|
|
)).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(utils.observeChanges(
|
|
|
|
|
{ one: { two: 2, three: 3 } },
|
|
|
|
|
{ one: { two: 1, three: 3 } },
|
|
|
|
|
{ one: ['two'] },
|
|
|
|
|
)).toBe(true);
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: 2, three: 3 } },
|
|
|
|
|
{ one: { two: 2, three: 4 } },
|
|
|
|
|
{ one: ['two'] }
|
|
|
|
|
)
|
|
|
|
|
).toBe(false);
|
|
|
|
|
|
|
|
|
|
expect(
|
|
|
|
|
utils.observeChanges(
|
|
|
|
|
{ one: { two: 2, three: 3 } },
|
|
|
|
|
{ one: { two: 1, three: 3 } },
|
|
|
|
|
{ one: ['two'] }
|
|
|
|
|
)
|
|
|
|
|
).toBe(true);
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|