Skip to content

Commit bc140de

Browse files
defccyyx990803
authored andcommitted
improve looseequal test case (#4542)
1 parent 3619318 commit bc140de

File tree

3 files changed

+69
-1
lines changed

3 files changed

+69
-1
lines changed

Diff for: test/unit/features/directives/model-checkbox.spec.js

+25-1
Original file line numberDiff line numberDiff line change
@@ -169,27 +169,51 @@ describe('Directive v-model checkbox', () => {
169169
'<input type="checkbox" value="" v-model="test">' +
170170
'<input type="checkbox" value="0" v-model="test">' +
171171
'<input type="checkbox" value="1" v-model="test">' +
172+
'<input type="checkbox" value="false" v-model="test">' +
173+
'<input type="checkbox" value="true" v-model="test">' +
172174
'</div>'
173175
}).$mount()
174176
var checkboxInput = vm.$el.children
175177
expect(checkboxInput[0].checked).toBe(false)
176178
expect(checkboxInput[1].checked).toBe(true)
177179
expect(checkboxInput[2].checked).toBe(false)
180+
expect(checkboxInput[3].checked).toBe(false)
181+
expect(checkboxInput[4].checked).toBe(false)
178182
vm.test = [1]
179183
waitForUpdate(() => {
180184
expect(checkboxInput[0].checked).toBe(false)
181185
expect(checkboxInput[1].checked).toBe(false)
182186
expect(checkboxInput[2].checked).toBe(true)
187+
expect(checkboxInput[3].checked).toBe(false)
188+
expect(checkboxInput[4].checked).toBe(false)
183189
vm.test = ['']
184190
}).then(() => {
185191
expect(checkboxInput[0].checked).toBe(true)
186192
expect(checkboxInput[1].checked).toBe(false)
187193
expect(checkboxInput[2].checked).toBe(false)
188-
vm.test = ['', 0, 1]
194+
expect(checkboxInput[3].checked).toBe(false)
195+
expect(checkboxInput[4].checked).toBe(false)
196+
vm.test = [false]
197+
}).then(() => {
198+
expect(checkboxInput[0].checked).toBe(false)
199+
expect(checkboxInput[1].checked).toBe(false)
200+
expect(checkboxInput[2].checked).toBe(false)
201+
expect(checkboxInput[3].checked).toBe(true)
202+
expect(checkboxInput[4].checked).toBe(false)
203+
vm.test = [true]
204+
}).then(() => {
205+
expect(checkboxInput[0].checked).toBe(false)
206+
expect(checkboxInput[1].checked).toBe(false)
207+
expect(checkboxInput[2].checked).toBe(false)
208+
expect(checkboxInput[3].checked).toBe(false)
209+
expect(checkboxInput[4].checked).toBe(true)
210+
vm.test = ['', 0, 1, false, true]
189211
}).then(() => {
190212
expect(checkboxInput[0].checked).toBe(true)
191213
expect(checkboxInput[1].checked).toBe(true)
192214
expect(checkboxInput[2].checked).toBe(true)
215+
expect(checkboxInput[3].checked).toBe(true)
216+
expect(checkboxInput[4].checked).toBe(true)
193217
}).then(done)
194218
})
195219

Diff for: test/unit/features/directives/model-radio.spec.js

+22
Original file line numberDiff line numberDiff line change
@@ -156,22 +156,44 @@ describe('Directive v-model radio', () => {
156156
'<input type="radio" value="" v-model="test" name="test">' +
157157
'<input type="radio" value="0" v-model="test" name="test">' +
158158
'<input type="radio" value="1" v-model="test" name="test">' +
159+
'<input type="radio" value="false" v-model="test" name="test">' +
160+
'<input type="radio" value="true" v-model="test" name="test">' +
159161
'</div>'
160162
}).$mount()
161163
var radioboxInput = vm.$el.children
162164
expect(radioboxInput[0].checked).toBe(false)
163165
expect(radioboxInput[1].checked).toBe(false)
164166
expect(radioboxInput[2].checked).toBe(true)
167+
expect(radioboxInput[3].checked).toBe(false)
168+
expect(radioboxInput[4].checked).toBe(false)
165169
vm.test = 0
166170
waitForUpdate(() => {
167171
expect(radioboxInput[0].checked).toBe(false)
168172
expect(radioboxInput[1].checked).toBe(true)
169173
expect(radioboxInput[2].checked).toBe(false)
174+
expect(radioboxInput[3].checked).toBe(false)
175+
expect(radioboxInput[4].checked).toBe(false)
170176
vm.test = ''
171177
}).then(() => {
172178
expect(radioboxInput[0].checked).toBe(true)
173179
expect(radioboxInput[1].checked).toBe(false)
174180
expect(radioboxInput[2].checked).toBe(false)
181+
expect(radioboxInput[3].checked).toBe(false)
182+
expect(radioboxInput[4].checked).toBe(false)
183+
vm.test = false
184+
}).then(() => {
185+
expect(radioboxInput[0].checked).toBe(false)
186+
expect(radioboxInput[1].checked).toBe(false)
187+
expect(radioboxInput[2].checked).toBe(false)
188+
expect(radioboxInput[3].checked).toBe(true)
189+
expect(radioboxInput[4].checked).toBe(false)
190+
vm.test = true
191+
}).then(() => {
192+
expect(radioboxInput[0].checked).toBe(false)
193+
expect(radioboxInput[1].checked).toBe(false)
194+
expect(radioboxInput[2].checked).toBe(false)
195+
expect(radioboxInput[3].checked).toBe(false)
196+
expect(radioboxInput[4].checked).toBe(true)
175197
}).then(done)
176198
})
177199

Diff for: test/unit/features/directives/model-select.spec.js

+22
Original file line numberDiff line numberDiff line change
@@ -329,22 +329,44 @@ describe('Directive v-model select', () => {
329329
'<option value="">a</option>' +
330330
'<option value="0">b</option>' +
331331
'<option value="1">c</option>' +
332+
'<option value="false">c</option>' +
333+
'<option value="true">c</option>' +
332334
'</select>'
333335
}).$mount()
334336
var opts = vm.$el.options
335337
expect(opts[0].selected).toBe(false)
336338
expect(opts[1].selected).toBe(true)
337339
expect(opts[2].selected).toBe(false)
340+
expect(opts[3].selected).toBe(false)
341+
expect(opts[4].selected).toBe(false)
338342
vm.test = 1
339343
waitForUpdate(() => {
340344
expect(opts[0].selected).toBe(false)
341345
expect(opts[1].selected).toBe(false)
342346
expect(opts[2].selected).toBe(true)
347+
expect(opts[3].selected).toBe(false)
348+
expect(opts[4].selected).toBe(false)
343349
vm.test = ''
344350
}).then(() => {
345351
expect(opts[0].selected).toBe(true)
346352
expect(opts[1].selected).toBe(false)
347353
expect(opts[2].selected).toBe(false)
354+
expect(opts[3].selected).toBe(false)
355+
expect(opts[4].selected).toBe(false)
356+
vm.test = false
357+
}).then(() => {
358+
expect(opts[0].selected).toBe(false)
359+
expect(opts[1].selected).toBe(false)
360+
expect(opts[2].selected).toBe(false)
361+
expect(opts[3].selected).toBe(true)
362+
expect(opts[4].selected).toBe(false)
363+
vm.test = true
364+
}).then(() => {
365+
expect(opts[0].selected).toBe(false)
366+
expect(opts[1].selected).toBe(false)
367+
expect(opts[2].selected).toBe(false)
368+
expect(opts[3].selected).toBe(false)
369+
expect(opts[4].selected).toBe(true)
348370
}).then(done)
349371
})
350372

0 commit comments

Comments
 (0)