|
|
|
|
@ -106,3 +106,46 @@ test('set.forEach()', () => {
|
|
|
|
|
|
|
|
|
|
cleanup();
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test('not invoking reactivity when value is not in the set after changes', () => {
|
|
|
|
|
const set = new ReactiveSet([1, 2]);
|
|
|
|
|
|
|
|
|
|
const log: any = [];
|
|
|
|
|
|
|
|
|
|
const cleanup = effect_root(() => {
|
|
|
|
|
render_effect(() => {
|
|
|
|
|
log.push('has 1', set.has(1));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
render_effect(() => {
|
|
|
|
|
log.push('has 2', set.has(2));
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
render_effect(() => {
|
|
|
|
|
log.push('has 3', set.has(3));
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
flushSync(() => {
|
|
|
|
|
set.delete(2);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
flushSync(() => {
|
|
|
|
|
set.add(2);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
assert.deepEqual(log, [
|
|
|
|
|
'has 1',
|
|
|
|
|
true,
|
|
|
|
|
'has 2',
|
|
|
|
|
true,
|
|
|
|
|
'has 3',
|
|
|
|
|
false,
|
|
|
|
|
'has 2',
|
|
|
|
|
false,
|
|
|
|
|
'has 2',
|
|
|
|
|
true
|
|
|
|
|
]);
|
|
|
|
|
|
|
|
|
|
cleanup();
|
|
|
|
|
});
|
|
|
|
|
|