import Vue from 'vue' import { patch } from 'web/runtime/patch' import VNode from 'core/vdom/vnode' describe('vdom patch: element', () => { it('should create an element', () => { const vnode = new VNode('p', { attrs: { id: '1' }}, [createTextVNode('hello world')]) const elm = patch(null, vnode) expect(elm.tagName).toBe('P') expect(elm.outerHTML).toBe('
hello world
') }) it('should create an element which having the namespace', () => { const vnode = new VNode('svg', {}) vnode.ns = 'svg' const elm = patch(null, vnode) expect(elm.namespaceURI).toBe('http://www.w3.org/2000/svg') }) const el = document.createElement('unknown') // Android Browser <= 4.2 doesn't use correct class name, // but it doesn't matter because no one's gonna use it as their primary // development browser. if (/HTMLUnknownElement/.test(el.toString())) { it('should warn unknown element', () => { const vnode = new VNode('unknown') patch(null, vnode) expect(`Unknown custom element: