| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import { createApp, h } from '../src'
- describe('createApp for dom', () => {
- // #2926
- test('mount to SVG container', () => {
- const root = document.createElementNS('http://www.w3.org/2000/svg', 'svg')
- createApp({
- render() {
- return h('g')
- }
- }).mount(root)
- expect(root.children.length).toBe(1)
- expect(root.children[0] instanceof SVGElement).toBe(true)
- })
- // #4398
- test('should not mutate original root component options object', () => {
-
- const originalObj = {
- data() {
- return {
- counter: 0
- }
- }
- }
- const handler = jest.fn(msg => {
- expect(msg).toMatch(`Component is missing template or render function`)
- })
- const Root = { ...originalObj}
-
- const app = createApp(Root)
- app.config.warnHandler = handler
- app.mount(document.createElement('div'))
-
- // ensure mount is based on a copy of Root object rather than Root object itself
- expect(app._component).not.toBe(Root)
-
- // ensure no mutation happened to Root object
- expect(originalObj).toMatchObject(Root)
-
- })
- })
|