fix(compat): fix app-level asset registration affecting other local apps (#5979)

This commit is contained in:
Alex Van Liew
2022-05-22 18:41:39 -07:00
committed by GitHub
parent 7fbc933f4d
commit 7fb57327b9
2 changed files with 25 additions and 2 deletions

View File

@@ -448,3 +448,25 @@ test('global asset registration should affect apps created via createApp', () =>
expect(vm.$el.textContent).toBe('foo')
delete singletonApp._context.components.foo
})
test('post-facto global asset registration should affect apps created via createApp', () => {
const app = createApp({
template: '<foo/>'
})
Vue.component('foo', { template: 'foo' })
const vm = app.mount(document.createElement('div')) as any;
expect(vm.$el.textContent).toBe('foo')
delete singletonApp._context.components.foo
})
test('local asset registration should not affect other local apps', () => {
const app1 = createApp({});
const app2 = createApp({});
app1.component('foo', {});
app2.component('foo', {});
expect(
`Component "foo" has already been registered in target app`
).not.toHaveBeenWarned()
})