| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  | import Vue from 'vue' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | describe('Directive v-if', () => { | 
					
						
							|  |  |  |   it('should check if value is truthy', () => { | 
					
						
							|  |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: '<div><span v-if="foo">hello</span></div>', | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       data: { foo: true } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 11:32:49 +08:00
										 |  |  |   it('should check if value is falsy', () => { | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: '<div><span v-if="foo">hello</span></div>', | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       data: { foo: false } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |     expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |   it('should update if value changed', done => { | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: '<div><span v-if="foo">hello</span></div>', | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       data: { foo: true } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							|  |  |  |     vm.foo = false | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |     waitForUpdate(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = {} | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							|  |  |  |       vm.foo = 0 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = [] | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							|  |  |  |       vm.foo = null | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = '0' | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							|  |  |  |       vm.foo = undefined | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = 1 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-05-19 01:08:14 +08:00
										 |  |  |     }).then(done) | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |   it('should work well with v-else', done => { | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							|  |  |  |           <span v-if="foo">hello</span> | 
					
						
							|  |  |  |           <span v-else>bye</span> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       data: { foo: true } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |     expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     vm.foo = false | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |     waitForUpdate(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = {} | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = 0 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = [] | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = null | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = '0' | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = undefined | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.foo = 1 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-05-19 01:08:14 +08:00
										 |  |  |     }).then(done) | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-11-22 04:24:40 +08:00
										 |  |  |   it('should work well with v-else-if', done => { | 
					
						
							| 
									
										
										
										
											2016-11-22 04:24:54 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							|  |  |  |           <span v-if="foo">hello</span> | 
					
						
							| 
									
										
										
										
											2016-11-22 04:24:40 +08:00
										 |  |  |           <span v-else-if="bar">elseif</span> | 
					
						
							| 
									
										
										
										
											2016-11-22 04:24:54 +08:00
										 |  |  |           <span v-else>bye</span> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       data: { foo: true, bar: false } | 
					
						
							|  |  |  |     }).$mount() | 
					
						
							|  |  |  |     expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							|  |  |  |     vm.foo = false | 
					
						
							|  |  |  |     waitForUpdate(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							|  |  |  |       vm.bar = true | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>elseif</span>') | 
					
						
							|  |  |  |       vm.bar = false | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							|  |  |  |       vm.foo = true | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span>') | 
					
						
							|  |  |  |       vm.foo = false | 
					
						
							|  |  |  |       vm.bar = {} | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>elseif</span>') | 
					
						
							|  |  |  |       vm.bar = 0 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							|  |  |  |       vm.bar = [] | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>elseif</span>') | 
					
						
							|  |  |  |       vm.bar = null | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							|  |  |  |       vm.bar = '0' | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>elseif</span>') | 
					
						
							|  |  |  |       vm.bar = undefined | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span>') | 
					
						
							|  |  |  |       vm.bar = 1 | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>elseif</span>') | 
					
						
							|  |  |  |     }).then(done) | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |   it('should work well with v-for', done => { | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							| 
									
										
										
										
											2016-12-14 01:02:37 +08:00
										 |  |  |           <span v-for="(item, i) in list" v-if="item.value">{{i}}</span> | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       data: { | 
					
						
							|  |  |  |         list: [ | 
					
						
							|  |  |  |           { value: true }, | 
					
						
							|  |  |  |           { value: false }, | 
					
						
							|  |  |  |           { value: true } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |     expect(vm.$el.innerHTML).toBe('<span>0</span><!----><span>2</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     vm.list[0].value = false | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |     waitForUpdate(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!----><!----><span>2</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.list.push({ value: true }) | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!----><!----><span>2</span><span>3</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.list.splice(1, 2) | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  |       expect(vm.$el.innerHTML).toBe('<!----><span>1</span>') | 
					
						
							| 
									
										
										
										
											2016-05-19 01:08:14 +08:00
										 |  |  |     }).then(done) | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |   it('should work well with v-for and v-else', done => { | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     const vm = new Vue({ | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							| 
									
										
										
										
											2016-12-14 01:02:37 +08:00
										 |  |  |           <span v-for="(item, i) in list" v-if="item.value">hello</span> | 
					
						
							| 
									
										
										
										
											2016-04-26 01:17:59 +08:00
										 |  |  |           <span v-else>bye</span> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       data: { | 
					
						
							|  |  |  |         list: [ | 
					
						
							|  |  |  |           { value: true }, | 
					
						
							|  |  |  |           { value: false }, | 
					
						
							|  |  |  |           { value: true } | 
					
						
							|  |  |  |         ] | 
					
						
							|  |  |  |       } | 
					
						
							| 
									
										
										
										
											2016-05-12 03:40:50 +08:00
										 |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |     expect(vm.$el.innerHTML.trim()).toBe('<span>hello</span><span>bye</span><span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |     vm.list[0].value = false | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |     waitForUpdate(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span><span>bye</span><span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.list.push({ value: true }) | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span><span>bye</span><span>hello</span><span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-04-26 01:37:19 +08:00
										 |  |  |       vm.list.splice(1, 2) | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-06-11 06:14:58 +08:00
										 |  |  |       expect(vm.$el.innerHTML.trim()).toBe('<span>bye</span><span>hello</span>') | 
					
						
							| 
									
										
										
										
											2016-05-19 01:08:14 +08:00
										 |  |  |     }).then(done) | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  |   }) | 
					
						
							| 
									
										
										
										
											2016-08-15 12:28:48 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-12-14 01:02:37 +08:00
										 |  |  |   it('should work with v-for on v-else branch', done => { | 
					
						
							|  |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							|  |  |  |           <span v-if="false">hello</span> | 
					
						
							|  |  |  |           <span v-else v-for="item in list">{{ item }}</span> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       data: { | 
					
						
							|  |  |  |         list: [1, 2, 3] | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }).$mount() | 
					
						
							|  |  |  |     expect(vm.$el.textContent.trim()).toBe('123') | 
					
						
							|  |  |  |     vm.list.reverse() | 
					
						
							|  |  |  |     waitForUpdate(() => { | 
					
						
							|  |  |  |       expect(vm.$el.textContent.trim()).toBe('321') | 
					
						
							|  |  |  |     }).then(done) | 
					
						
							|  |  |  |   }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-15 12:28:48 +08:00
										 |  |  |   it('should work properly on component root', done => { | 
					
						
							|  |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							|  |  |  |           <test class="test"></test> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       components: { | 
					
						
							|  |  |  |         test: { | 
					
						
							|  |  |  |           data () { | 
					
						
							|  |  |  |             return { ok: true } | 
					
						
							|  |  |  |           }, | 
					
						
							|  |  |  |           template: '<div v-if="ok" id="ok" class="inner">test</div>' | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }).$mount() | 
					
						
							| 
									
										
										
										
											2016-08-16 11:29:49 +08:00
										 |  |  |     expect(vm.$el.children[0].id).toBe('ok') | 
					
						
							|  |  |  |     expect(vm.$el.children[0].className).toBe('inner test') | 
					
						
							| 
									
										
										
										
											2016-08-15 12:28:48 +08:00
										 |  |  |     vm.$children[0].ok = false | 
					
						
							|  |  |  |     waitForUpdate(() => { | 
					
						
							|  |  |  |       // attrs / class modules should not attempt to patch the comment node
 | 
					
						
							|  |  |  |       expect(vm.$el.innerHTML).toBe('<!---->') | 
					
						
							|  |  |  |       vm.$children[0].ok = true | 
					
						
							|  |  |  |     }).then(() => { | 
					
						
							| 
									
										
										
										
											2016-08-16 11:29:49 +08:00
										 |  |  |       expect(vm.$el.children[0].id).toBe('ok') | 
					
						
							|  |  |  |       expect(vm.$el.children[0].className).toBe('inner test') | 
					
						
							| 
									
										
										
										
											2016-08-15 12:28:48 +08:00
										 |  |  |     }).then(done) | 
					
						
							|  |  |  |   }) | 
					
						
							| 
									
										
										
										
											2016-08-28 05:01:57 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   it('should maintain stable list to avoid unnecessary patches', done => { | 
					
						
							|  |  |  |     const created = jasmine.createSpy() | 
					
						
							|  |  |  |     const destroyed = jasmine.createSpy() | 
					
						
							|  |  |  |     const vm = new Vue({ | 
					
						
							|  |  |  |       data: { | 
					
						
							|  |  |  |         ok: true | 
					
						
							|  |  |  |       }, | 
					
						
							|  |  |  |       // when the first div is toggled, the second div should be reused
 | 
					
						
							|  |  |  |       // instead of re-created/destroyed
 | 
					
						
							|  |  |  |       template: `
 | 
					
						
							|  |  |  |         <div> | 
					
						
							|  |  |  |           <div v-if="ok"></div> | 
					
						
							|  |  |  |           <div><test></test></div> | 
					
						
							|  |  |  |         </div> | 
					
						
							|  |  |  |       `,
 | 
					
						
							|  |  |  |       components: { | 
					
						
							|  |  |  |         test: { | 
					
						
							|  |  |  |           template: '<div></div>', | 
					
						
							|  |  |  |           created, | 
					
						
							|  |  |  |           destroyed | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |       } | 
					
						
							|  |  |  |     }).$mount() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     expect(created.calls.count()).toBe(1) | 
					
						
							|  |  |  |     vm.ok = false | 
					
						
							|  |  |  |     waitForUpdate(() => { | 
					
						
							|  |  |  |       expect(created.calls.count()).toBe(1) | 
					
						
							|  |  |  |       expect(destroyed).not.toHaveBeenCalled() | 
					
						
							|  |  |  |     }).then(done) | 
					
						
							|  |  |  |   }) | 
					
						
							| 
									
										
										
										
											2016-04-26 01:02:17 +08:00
										 |  |  | }) |