From be95f11ff71b9311af639b34945c209db8401ed4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=BE=E9=B9=A4?= Date: Tue, 27 Dec 2016 00:32:44 +0800 Subject: [PATCH] add unit test for dynamic with props add unit test for dynamic component with props --- .../unit/features/component/component.spec.js | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/test/unit/features/component/component.spec.js b/test/unit/features/component/component.spec.js index be474e88b67..6ddb4426ac9 100644 --- a/test/unit/features/component/component.spec.js +++ b/test/unit/features/component/component.spec.js @@ -87,23 +87,52 @@ describe('Component', () => { }, components: { 'view-a': { - template: '
foo
', + template: '
foo {{view}}
', data () { return { view: 'a' } } }, 'view-b': { - template: '
bar
', + template: '
bar {{view}}
', data () { return { view: 'b' } } } } }).$mount() - expect(vm.$el.outerHTML).toBe('
foo
') + expect(vm.$el.outerHTML).toBe('
foo a
') vm.view = 'view-b' waitForUpdate(() => { - expect(vm.$el.outerHTML).toBe('
bar
') + expect(vm.$el.outerHTML).toBe('
bar b
') + vm.view = '' + }) + .then(() => { + expect(vm.$el.nodeType).toBe(8) + expect(vm.$el.data).toBe('') + }).then(done) + }) + + it('dynamic with props', done => { + const vm = new Vue({ + template: '', + data: { + view: 'view-a' + }, + components: { + 'view-a': { + template: '
foo {{view}}
', + props: ['view'] + }, + 'view-b': { + template: '
bar {{view}}
', + props: ['view'] + } + } + }).$mount() + expect(vm.$el.outerHTML).toBe('
foo view-a
') + vm.view = 'view-b' + waitForUpdate(() => { + expect(vm.$el.outerHTML).toBe('
bar view-b
') vm.view = '' }) .then(() => {