]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
test(vue): test mount with a selector (#1391)
author57code <33857444+57code@users.noreply.github.com>
Wed, 17 Jun 2020 20:01:35 +0000 (04:01 +0800)
committerGitHub <noreply@github.com>
Wed, 17 Jun 2020 20:01:35 +0000 (16:01 -0400)
packages/vue/__tests__/index.spec.ts

index 5a71706be91abb736d88a1588e1d749b30cefdd5..692a759bf2ca6d5959605026e7d6fad203ec968d 100644 (file)
@@ -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
+  })
 })