expect(dummy).toBe(7)
})
+ it('should warn onDispose() is called when there is no active effect scope', () => {
+ const spy = jest.fn()
+ const scope = new EffectScope()
+ scope.run(() => {
+ onScopeDispose(spy)
+ })
+
+ expect(spy).toHaveBeenCalledTimes(0)
+
+ onScopeDispose(spy)
+
+ expect(
+ '[Vue warn] onDispose() is called when there is no active effect scope to be associated with.'
+ ).toHaveBeenWarned()
+
+ scope.stop()
+ expect(spy).toHaveBeenCalledTimes(1)
+ })
+
it('should derefence child scope from parent scope after stopping child scope (no memleaks)', async () => {
const parent = new EffectScope()
const child = parent.run(() => new EffectScope())!
activeEffectScope.cleanups.push(fn)
} else if (__DEV__) {
warn(
- `onDispose() is called when there is no active effect scope ` +
+ `onDispose() is called when there is no active effect scope` +
` to be associated with.`
)
}