effect-active
ComputerGuy 2 months ago
parent c61f2a9bae
commit 9c1de633c0

@ -4,6 +4,7 @@ import * as $ from '../../src/internal/client/runtime';
import { push, pop } from '../../src/internal/client/context';
import {
effect,
effect_active,
effect_root,
render_effect,
user_effect,
@ -1390,4 +1391,41 @@ describe('signals', () => {
destroy();
};
});
test('$effect.active()', () => {
const log: Array<string | boolean> = [];
return () => {
log.push('effect orphan', effect_active());
const destroy = effect_root(() => {
log.push('effect root', effect_active());
effect(() => {
log.push('effect', effect_active());
});
$.get(
derived(() => {
log.push('derived', effect_active());
return 1;
})
);
return () => {
log.push('effect teardown', effect_active());
};
});
flushSync();
destroy();
assert.deepEqual(log, [
'effect orphan',
false,
'effect root',
true,
'derived',
true,
'effect',
true,
'effect teardown',
false
]);
};
});
});

Loading…
Cancel
Save