From cb97d152b84696d8410a55792b801f6dd8bc21da Mon Sep 17 00:00:00 2001 From: JiZhi <471695625@qq.com> Date: Wed, 30 Oct 2019 23:36:17 +0800 Subject: [PATCH] test(effect): add test for nested stopped effect (#417) --- packages/reactivity/__tests__/effect.spec.ts | 22 ++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/packages/reactivity/__tests__/effect.spec.ts b/packages/reactivity/__tests__/effect.spec.ts index 38ec27b4..0e09e2e6 100644 --- a/packages/reactivity/__tests__/effect.spec.ts +++ b/packages/reactivity/__tests__/effect.spec.ts @@ -686,6 +686,28 @@ describe('reactivity/effect', () => { expect(onStop).toHaveBeenCalled() }) + it('stop: a stopped effect is nested in a normal effect', () => { + let dummy + const obj = reactive({ prop: 1 }) + const runner = effect(() => { + dummy = obj.prop + }) + stop(runner) + obj.prop = 2 + expect(dummy).toBe(1) + + // observed value in inner stopped effect + // will track outer effect as an dependency + effect(() => { + runner() + }) + expect(dummy).toBe(2) + + // notify outer effect to run + obj.prop = 3 + expect(dummy).toBe(3) + }) + it('markNonReactive', () => { const obj = reactive({ foo: markNonReactive({