mirror of https://github.com/vuejs/vue.git
56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
var _ = require('../../../../../src/util')
|
|
var def = require('../../../../../src/directives/internal/class')
|
|
|
|
if (_.inBrowser) {
|
|
describe(':class', function () {
|
|
|
|
var el
|
|
beforeEach(function () {
|
|
el = document.createElement('div')
|
|
})
|
|
|
|
it('plain string', function () {
|
|
el.className = 'haha'
|
|
var dir = _.extend({ el: el }, def)
|
|
dir.update('test')
|
|
expect(el.className).toBe('haha test')
|
|
dir.update('what now test')
|
|
expect(el.className).toBe('haha test now what')
|
|
dir.update('ok cool')
|
|
expect(el.className).toBe('haha cool ok')
|
|
dir.update()
|
|
expect(el.className).toBe('haha')
|
|
})
|
|
|
|
it('object value', function () {
|
|
el.className = 'hoho'
|
|
var dir = _.extend({ el: el }, def)
|
|
dir.update({
|
|
a: true,
|
|
b: false
|
|
})
|
|
expect(el.className).toBe('hoho a')
|
|
dir.update({
|
|
b: true
|
|
})
|
|
expect(el.className).toBe('hoho b')
|
|
dir.update(null)
|
|
expect(el.className).toBe('hoho')
|
|
})
|
|
|
|
it('array value', function () {
|
|
el.className = 'a'
|
|
var dir = _.extend({ el: el }, def)
|
|
dir.update(['b', 'c'])
|
|
expect(el.className).toBe('a b c')
|
|
dir.update(['d', 'c'])
|
|
expect(el.className).toBe('a c d')
|
|
dir.update()
|
|
expect(el.className).toBe('a')
|
|
dir.update(['e', ''])
|
|
expect(el.className).toBe('a e')
|
|
})
|
|
|
|
})
|
|
}
|