From 6df367554803e62b07d44d8ec253ea58a0861eab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=B4=9C=C9=B4=D0=B2=CA=8F=D1=82=E1=B4=87?= Date: Wed, 14 Oct 2020 04:29:23 +0800 Subject: [PATCH] test(runtime-core): improve test for #2295 (#2309) --- .../__tests__/rendererComponent.spec.ts | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/packages/runtime-core/__tests__/rendererComponent.spec.ts b/packages/runtime-core/__tests__/rendererComponent.spec.ts index 402a6732d..5616c22a1 100644 --- a/packages/runtime-core/__tests__/rendererComponent.spec.ts +++ b/packages/runtime-core/__tests__/rendererComponent.spec.ts @@ -141,21 +141,32 @@ describe('renderer: component', () => { }) // #2170 - test('should have access to instance’s “$el” property in watcher when rendereing with watched prop', async () => { + test('instance.$el should be exposed to watch options', async () => { function returnThis(this: any) { return this } const propWatchSpy = jest.fn(returnThis) + const dataWatchSpy = jest.fn(returnThis) let instance: any const Comp = { props: { testProp: String }, + data() { + return { + testData: undefined + } + }, + watch: { testProp() { // @ts-ignore propWatchSpy(this.$el) + }, + testData() { + // @ts-ignore + dataWatchSpy(this.$el) } }, @@ -172,10 +183,15 @@ describe('renderer: component', () => { render(h(Comp), root) await nextTick() expect(propWatchSpy).not.toHaveBeenCalled() + expect(dataWatchSpy).not.toHaveBeenCalled() render(h(Comp, { testProp: 'prop ' }), root) await nextTick() expect(propWatchSpy).toHaveBeenCalledWith(instance.$el) + + instance.testData = 1 + await nextTick() + expect(dataWatchSpy).toHaveBeenCalledWith(instance.$el) }) // #2200