mirror of https://github.com/vuejs/vue.git
tests for lazy option
This commit is contained in:
parent
b8781c54eb
commit
c1206f89b3
|
|
@ -18,6 +18,9 @@
|
|||
"assert": true,
|
||||
"mock": true,
|
||||
"Seed": true,
|
||||
"$": true
|
||||
"$": true,
|
||||
"mockChangeEvent": true,
|
||||
"mockMouseEvent": true,
|
||||
"mockKeyEvent": true
|
||||
}
|
||||
}
|
||||
|
|
@ -29,6 +29,27 @@
|
|||
return el
|
||||
}
|
||||
|
||||
function mockChangeEvent () {
|
||||
var e = document.createEvent('HTMLEvents')
|
||||
e.initEvent('change', true, true)
|
||||
return e
|
||||
}
|
||||
|
||||
function mockKeyEvent (type) {
|
||||
var e = document.createEvent('KeyboardEvent'),
|
||||
initMethod = e.initKeyboardEvent
|
||||
? 'initKeyboardEvent'
|
||||
: 'initKeyEvent'
|
||||
e[initMethod](type, true, true, null, false, false, false, false, 9, 0)
|
||||
return e
|
||||
}
|
||||
|
||||
function mockMouseEvent (type) {
|
||||
var e = document.createEvent('MouseEvent')
|
||||
e.initMouseEvent(type, true, true, null, 1, 0, 0, 0, 0, false, false, false, false, 0, null)
|
||||
return e
|
||||
}
|
||||
|
||||
function $ (selector) {
|
||||
return document.querySelector(selector).innerHTML
|
||||
}
|
||||
|
|
|
|||
|
|
@ -299,6 +299,28 @@ describe('UNIT: API', function () {
|
|||
|
||||
})
|
||||
|
||||
describe('lazy', function () {
|
||||
|
||||
it('should make text input fields only trigger on change', function () {
|
||||
var Test = Seed.extend({
|
||||
template: '<input type="text" sd-model="test">',
|
||||
lazy: true
|
||||
})
|
||||
var t = new Test({
|
||||
scope: {
|
||||
test: 'hi'
|
||||
}
|
||||
})
|
||||
var input = t.$el.querySelector('input')
|
||||
input.value = 'hohoho'
|
||||
input.dispatchEvent(mockKeyEvent('keyup'))
|
||||
assert.strictEqual(t.test, 'hi')
|
||||
input.dispatchEvent(mockChangeEvent())
|
||||
assert.strictEqual(t.test, 'hohoho')
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe('element options', function () {
|
||||
|
||||
it('should not accept el as an extension option', function () {
|
||||
|
|
|
|||
|
|
@ -556,24 +556,3 @@ function mockDirective (dirName, tag, type) {
|
|||
if (tag === 'input') ret.el.type = type || 'text'
|
||||
return ret
|
||||
}
|
||||
|
||||
function mockChangeEvent () {
|
||||
var e = document.createEvent('HTMLEvents')
|
||||
e.initEvent('change', true, true)
|
||||
return e
|
||||
}
|
||||
|
||||
function mockKeyEvent (type) {
|
||||
var e = document.createEvent('KeyboardEvent'),
|
||||
initMethod = e.initKeyboardEvent
|
||||
? 'initKeyboardEvent'
|
||||
: 'initKeyEvent'
|
||||
e[initMethod](type, true, true, null, false, false, false, false, 9, 0)
|
||||
return e
|
||||
}
|
||||
|
||||
function mockMouseEvent (type) {
|
||||
var e = document.createEvent('MouseEvent')
|
||||
e.initMouseEvent(type, true, true, null, 1, 0, 0, 0, 0, false, false, false, false, 0, null)
|
||||
return e
|
||||
}
|
||||
Loading…
Reference in New Issue