|
|
@@ -299,21 +299,6 @@ if (_.inBrowser) {
|
|
|
expect(el.innerHTML).toBe('<ul><li>1</li><li>2</li></ul>')
|
|
|
})
|
|
|
|
|
|
- it('wait-for for static component', function () {
|
|
|
- var vm = new Vue({
|
|
|
- el: el,
|
|
|
- template: '<view-a wait-for="ok"></view-a>',
|
|
|
- components: {
|
|
|
- 'view-a': {
|
|
|
- template: 'AAA'
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- expect(el.textContent).toBe('')
|
|
|
- vm.$children[0].$emit('ok')
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- })
|
|
|
-
|
|
|
it('activate hook for static component', function (done) {
|
|
|
new Vue({
|
|
|
el: el,
|
|
|
@@ -334,63 +319,6 @@ if (_.inBrowser) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
- it('sync wait-for inside compiled hook', function () {
|
|
|
- new Vue({
|
|
|
- el: el,
|
|
|
- template: '<view-a wait-for="ok"></view-a>',
|
|
|
- components: {
|
|
|
- 'view-a': {
|
|
|
- template: 'AAA',
|
|
|
- compiled: function () {
|
|
|
- expect(el.textContent).toBe('')
|
|
|
- this.$emit('ok')
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- })
|
|
|
-
|
|
|
- it('wait-for for dynamic components', function (done) {
|
|
|
- var vm = new Vue({
|
|
|
- el: el,
|
|
|
- data: {
|
|
|
- view: 'view-a'
|
|
|
- },
|
|
|
- template: '<component is="{{view}}" wait-for="ok"></component>',
|
|
|
- components: {
|
|
|
- 'view-a': {
|
|
|
- template: 'AAA'
|
|
|
- },
|
|
|
- 'view-b': {
|
|
|
- template: 'BBB'
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- vm.$children[0].$emit('ok')
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- vm.view = 'view-b'
|
|
|
- _.nextTick(function () {
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- // old vm is already removed, this is the new vm
|
|
|
- expect(vm.$children.length).toBe(1)
|
|
|
- vm.$children[0].$emit('ok')
|
|
|
- expect(el.textContent).toBe('BBB')
|
|
|
- // ensure switching before ready event correctly
|
|
|
- // cleans up the component being waited on.
|
|
|
- // see #1152
|
|
|
- vm.view = 'view-a'
|
|
|
- _.nextTick(function () {
|
|
|
- vm.view = 'view-b'
|
|
|
- _.nextTick(function () {
|
|
|
- expect(vm.$children.length).toBe(1)
|
|
|
- expect(vm.$children[0].$el.textContent).toBe('BBB')
|
|
|
- done()
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
-
|
|
|
it('activate hook for dynamic components', function (done) {
|
|
|
var next
|
|
|
var vm = new Vue({
|
|
|
@@ -440,40 +368,6 @@ if (_.inBrowser) {
|
|
|
})
|
|
|
})
|
|
|
|
|
|
- // #1150
|
|
|
- it('wait-for + keep-alive', function (done) {
|
|
|
- var vm = new Vue({
|
|
|
- el: el,
|
|
|
- data: {
|
|
|
- view: 'view-a'
|
|
|
- },
|
|
|
- template: '<component is="{{view}}" wait-for="ok" keep-alive></component>',
|
|
|
- components: {
|
|
|
- 'view-a': {
|
|
|
- template: 'AAA'
|
|
|
- },
|
|
|
- 'view-b': {
|
|
|
- template: 'BBB'
|
|
|
- }
|
|
|
- }
|
|
|
- })
|
|
|
- vm.$children[0].$emit('ok')
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- vm.view = 'view-b'
|
|
|
- _.nextTick(function () {
|
|
|
- expect(vm.$children.length).toBe(2)
|
|
|
- vm.$children[1].$emit('ok')
|
|
|
- expect(el.textContent).toBe('BBB')
|
|
|
- vm.view = 'view-a'
|
|
|
- _.nextTick(function () {
|
|
|
- // should switch without the need to emit
|
|
|
- // because of keep-alive
|
|
|
- expect(el.textContent).toBe('AAA')
|
|
|
- done()
|
|
|
- })
|
|
|
- })
|
|
|
- })
|
|
|
-
|
|
|
it('activate hook + keep-alive', function (done) {
|
|
|
var next
|
|
|
var vm = new Vue({
|