From 04751ff6343fd611398b4d38ec0bcb5439f8d739 Mon Sep 17 00:00:00 2001 From: 57code <33857444+57code@users.noreply.github.com> Date: Thu, 18 Jun 2020 04:01:35 +0800 Subject: [PATCH] test(vue): test mount with a selector (#1391) --- packages/vue/__tests__/index.spec.ts | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/packages/vue/__tests__/index.spec.ts b/packages/vue/__tests__/index.spec.ts index 5a71706b..692a759b 100644 --- a/packages/vue/__tests__/index.spec.ts +++ b/packages/vue/__tests__/index.spec.ts @@ -99,6 +99,24 @@ describe('compiler + runtime integration', () => { expect(container.innerHTML).toBe('hello') }) + it('should support selector of rootContainer', () => { + const container = document.createElement('div') + const origin = document.querySelector + document.querySelector = jest.fn().mockReturnValue(container) + + const App = { + template: `{{ count }}`, + data() { + return { + count: 0 + } + } + } + createApp(App).mount('#app') + expect(container.innerHTML).toBe(`0`) + document.querySelector = origin + }) + it('should warn when template is not avaiable', () => { const app = createApp({ template: {} @@ -118,4 +136,23 @@ describe('compiler + runtime integration', () => { '[Vue warn]: Template element not found or is empty: #not-exist-id' ).toHaveBeenWarned() }) + + it('should warn when container is not found', () => { + const origin = document.querySelector + document.querySelector = jest.fn().mockReturnValue(null) + const App = { + template: `{{ count }}`, + data() { + return { + count: 0 + } + } + } + createApp(App).mount('#not-exist-id') + + expect( + '[Vue warn]: Failed to mount app: mount target selector returned null.' + ).toHaveBeenWarned() + document.querySelector = origin + }) })