File tree 1 file changed +33
-4
lines changed
test/unit/features/component
1 file changed +33
-4
lines changed Original file line number Diff line number Diff line change @@ -87,23 +87,52 @@ describe('Component', () => {
87
87
} ,
88
88
components : {
89
89
'view-a' : {
90
- template : '<div>foo</div>' ,
90
+ template : '<div>foo {{view}} </div>' ,
91
91
data ( ) {
92
92
return { view : 'a' }
93
93
}
94
94
} ,
95
95
'view-b' : {
96
- template : '<div>bar</div>' ,
96
+ template : '<div>bar {{view}} </div>' ,
97
97
data ( ) {
98
98
return { view : 'b' }
99
99
}
100
100
}
101
101
}
102
102
} ) . $mount ( )
103
- expect ( vm . $el . outerHTML ) . toBe ( '<div view="view-a">foo</div>' )
103
+ expect ( vm . $el . outerHTML ) . toBe ( '<div view="view-a">foo a </div>' )
104
104
vm . view = 'view-b'
105
105
waitForUpdate ( ( ) => {
106
- expect ( vm . $el . outerHTML ) . toBe ( '<div view="view-b">bar</div>' )
106
+ expect ( vm . $el . outerHTML ) . toBe ( '<div view="view-b">bar b</div>' )
107
+ vm . view = ''
108
+ } )
109
+ . then ( ( ) => {
110
+ expect ( vm . $el . nodeType ) . toBe ( 8 )
111
+ expect ( vm . $el . data ) . toBe ( '' )
112
+ } ) . then ( done )
113
+ } )
114
+
115
+ it ( 'dynamic with props' , done => {
116
+ const vm = new Vue ( {
117
+ template : '<component :is="view" :view="view"></component>' ,
118
+ data : {
119
+ view : 'view-a'
120
+ } ,
121
+ components : {
122
+ 'view-a' : {
123
+ template : '<div>foo {{view}}</div>' ,
124
+ props : [ 'view' ]
125
+ } ,
126
+ 'view-b' : {
127
+ template : '<div>bar {{view}}</div>' ,
128
+ props : [ 'view' ]
129
+ }
130
+ }
131
+ } ) . $mount ( )
132
+ expect ( vm . $el . outerHTML ) . toBe ( '<div>foo view-a</div>' )
133
+ vm . view = 'view-b'
134
+ waitForUpdate ( ( ) => {
135
+ expect ( vm . $el . outerHTML ) . toBe ( '<div>bar view-b</div>' )
107
136
vm . view = ''
108
137
} )
109
138
. then ( ( ) => {
You can’t perform that action at this time.
0 commit comments