test(runtime-core): improve test for #2295 (#2309)

This commit is contained in:
ᴜɴвʏтᴇ 2020-10-14 04:29:23 +08:00 committed by GitHub
parent 02f355eb69
commit 6df3675548
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -141,21 +141,32 @@ describe('renderer: component', () => {
})
// #2170
test('should have access to instances “$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