9
9
DirectiveBinding ,
10
10
nextTick
11
11
} from '@vue/runtime-test'
12
+ import { currentInstance , ComponentInternalInstance } from '../src/component'
12
13
13
14
describe ( 'directives' , ( ) => {
14
15
it ( 'should work' , async ( ) => {
@@ -17,6 +18,7 @@ describe('directives', () => {
17
18
function assertBindings ( binding : DirectiveBinding ) {
18
19
expect ( binding . value ) . toBe ( count . value )
19
20
expect ( binding . arg ) . toBe ( 'foo' )
21
+ expect ( binding . instance ) . toBe ( _instance && _instance . proxy )
20
22
expect ( binding . modifiers && binding . modifiers . ok ) . toBe ( true )
21
23
}
22
24
@@ -105,9 +107,13 @@ describe('directives', () => {
105
107
unmounted
106
108
}
107
109
110
+ let _instance : ComponentInternalInstance | null = null
108
111
let _vnode : VNode | null = null
109
112
let _prevVnode : VNode | null = null
110
113
const Comp = {
114
+ setup ( ) {
115
+ _instance = currentInstance
116
+ } ,
111
117
render ( ) {
112
118
_prevVnode = _vnode
113
119
_vnode = withDirectives ( h ( 'div' , count . value ) , [
@@ -147,6 +153,7 @@ describe('directives', () => {
147
153
function assertBindings ( binding : DirectiveBinding ) {
148
154
expect ( binding . value ) . toBe ( count . value )
149
155
expect ( binding . arg ) . toBe ( 'foo' )
156
+ expect ( binding . instance ) . toBe ( _instance && _instance . proxy )
150
157
expect ( binding . modifiers && binding . modifiers . ok ) . toBe ( true )
151
158
}
152
159
@@ -160,9 +167,13 @@ describe('directives', () => {
160
167
expect ( prevVNode ) . toBe ( _prevVnode )
161
168
} ) as DirectiveHook )
162
169
170
+ let _instance : ComponentInternalInstance | null = null
163
171
let _vnode : VNode | null = null
164
172
let _prevVnode : VNode | null = null
165
173
const Comp = {
174
+ setup ( ) {
175
+ _instance = currentInstance
176
+ } ,
166
177
render ( ) {
167
178
_prevVnode = _vnode
168
179
_vnode = withDirectives ( h ( 'div' , count . value ) , [
@@ -196,6 +207,7 @@ describe('directives', () => {
196
207
function assertBindings ( binding : DirectiveBinding ) {
197
208
expect ( binding . value ) . toBe ( count . value )
198
209
expect ( binding . arg ) . toBe ( 'foo' )
210
+ expect ( binding . instance ) . toBe ( _instance && _instance . proxy )
199
211
expect ( binding . modifiers && binding . modifiers . ok ) . toBe ( true )
200
212
}
201
213
@@ -284,6 +296,7 @@ describe('directives', () => {
284
296
unmounted
285
297
}
286
298
299
+ let _instance : ComponentInternalInstance | null = null
287
300
let _vnode : VNode | null = null
288
301
let _prevVnode : VNode | null = null
289
302
@@ -294,6 +307,9 @@ describe('directives', () => {
294
307
}
295
308
296
309
const Comp = {
310
+ setup ( ) {
311
+ _instance = currentInstance
312
+ } ,
297
313
render ( ) {
298
314
return withDirectives ( h ( Child , { count : count . value } ) , [
299
315
[
0 commit comments