mirror of https://github.com/vuejs/vue.git
update if tests
This commit is contained in:
parent
9b681f7cf0
commit
7169d14179
|
|
@ -13,7 +13,7 @@
|
|||
"dev": "webpack --watch --config build/webpack.dist.dev.config.js",
|
||||
"dev-test": "karma start build/karma.dev.config.js",
|
||||
"dev-ssr": "webpack --watch --config build/webpack.ssr.dev.config.js",
|
||||
"test": "npm run unit && npm run e2e",
|
||||
"test": "npm run lint && npm run unit && npm run e2e",
|
||||
"build": "NODE_ENV=production node build/build.js",
|
||||
"lint": "eslint src build test",
|
||||
"unit": "karma start build/karma.unit.config.js",
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ describe('Directive v-if', () => {
|
|||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-if="foo">hello</span></div>',
|
||||
data: {foo: true}
|
||||
data: { foo: true }
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hello</span>')
|
||||
})
|
||||
|
|
@ -14,16 +14,16 @@ describe('Directive v-if', () => {
|
|||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-if="foo">hello</span></div>',
|
||||
data: {foo: false}
|
||||
data: { foo: false }
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('')
|
||||
})
|
||||
|
||||
it('should update if value changed', (done) => {
|
||||
it('should update if value changed', done => {
|
||||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-if="foo">hello</span></div>',
|
||||
data: {foo: true}
|
||||
data: { foo: true }
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hello</span>')
|
||||
vm.foo = false
|
||||
|
|
@ -57,11 +57,16 @@ describe('Directive v-if', () => {
|
|||
})
|
||||
})
|
||||
|
||||
it('should work well with v-else', (done) => {
|
||||
it('should work well with v-else', done => {
|
||||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-if="foo">hello</span><span v-else>bye</span></div>',
|
||||
data: {foo: true}
|
||||
template: `
|
||||
<div>
|
||||
<span v-if="foo">hello</span>
|
||||
<span v-else>bye</span>
|
||||
</div>
|
||||
`,
|
||||
data: { foo: true }
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hello</span>')
|
||||
vm.foo = false
|
||||
|
|
@ -95,18 +100,28 @@ describe('Directive v-if', () => {
|
|||
})
|
||||
})
|
||||
|
||||
it('should work well with v-for', (done) => {
|
||||
it('should work well with v-for', done => {
|
||||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-for="item,i in list" v-if="item.value">{{i}}</span></div>',
|
||||
data: {list: [{value: true}, {value: false}, {value: true}]}
|
||||
template: `
|
||||
<div>
|
||||
<span v-for="item,i in list" v-if="item.value">{{i}}</span>
|
||||
</div>
|
||||
`,
|
||||
data: {
|
||||
list: [
|
||||
{ value: true },
|
||||
{ value: false },
|
||||
{ value: true }
|
||||
]
|
||||
}
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>0</span><span>2</span>')
|
||||
vm.list[0].value = false
|
||||
setTimeout(() => {
|
||||
new Promise((res, rej) => {
|
||||
expect(vm.$el.innerHTML).toBe('<span>2</span>')
|
||||
vm.list.push({value: true})
|
||||
vm.list.push({ value: true })
|
||||
res()
|
||||
}).then(() => {
|
||||
expect(vm.$el.innerHTML).toBe('<span>2</span><span>3</span>')
|
||||
|
|
@ -118,18 +133,29 @@ describe('Directive v-if', () => {
|
|||
})
|
||||
})
|
||||
|
||||
it('should work well with v-for and v-else', (done) => {
|
||||
it('should work well with v-for and v-else', done => {
|
||||
const vm = new Vue({
|
||||
el: '#app',
|
||||
template: '<div><span v-for="item,i in list" v-if="item.value">hello</span><span v-else>bye</span></div>',
|
||||
data: {list: [{value: true}, {value: false}, {value: true}]}
|
||||
template: `
|
||||
<div>
|
||||
<span v-for="item,i in list" v-if="item.value">hello</span>
|
||||
<span v-else>bye</span>
|
||||
</div>
|
||||
`,
|
||||
data: {
|
||||
list: [
|
||||
{ value: true },
|
||||
{ value: false },
|
||||
{ value: true }
|
||||
]
|
||||
}
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hello</span><span>bye</span><span>hello</span>')
|
||||
vm.list[0].value = false
|
||||
setTimeout(() => {
|
||||
new Promise((res, rej) => {
|
||||
expect(vm.$el.innerHTML).toBe('<span>bye</span><span>bye</span><span>hello</span>')
|
||||
vm.list.push({value: true})
|
||||
vm.list.push({ value: true })
|
||||
res()
|
||||
}).then(() => {
|
||||
expect(vm.$el.innerHTML).toBe('<span>bye</span><span>bye</span><span>hello</span><span>hello</span>')
|
||||
|
|
|
|||
|
|
@ -2,22 +2,23 @@ import Vue from 'vue'
|
|||
|
||||
describe('Global config', () => {
|
||||
describe('preserveWhitespace', () => {
|
||||
it('should be true by default', () => {
|
||||
it('should preserve whitepspaces when set to true', () => {
|
||||
// this option is set to false during unit tests.
|
||||
Vue.config.preserveWhitespace = true
|
||||
const vm = new Vue({
|
||||
el: document.createElement('div'),
|
||||
template: '<div><span>hi</span> <span>ha</span></div>'
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hi</span> <span>ha</span>')
|
||||
Vue.config.preserveWhitespace = false
|
||||
})
|
||||
|
||||
it('should remove whitespaces when set to false', () => {
|
||||
Vue.config.preserveWhitespace = false
|
||||
const vm = new Vue({
|
||||
el: document.createElement('div'),
|
||||
template: '<div><span>hi</span> <span>ha</span></div>'
|
||||
})
|
||||
expect(vm.$el.innerHTML).toBe('<span>hi</span><span>ha</span>')
|
||||
Vue.config.preserveWhitespace = true
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
import Vue from 'vue'
|
||||
|
||||
Vue.config.preserveWhitespace = false
|
||||
|
||||
if (typeof console === 'undefined') {
|
||||
window.console = {
|
||||
error: function () {}
|
||||
|
|
|
|||
Loading…
Reference in New Issue