| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import Vue from 'vue'
- describe('Options template', () => {
- let el
- beforeEach(() => {
- el = document.createElement('script')
- el.type = 'x-template'
- el.id = 'app'
- el.innerHTML = '<p>{{message}}</p>'
- document.body.appendChild(el)
- })
- afterEach(() => {
- document.body.removeChild(el)
- })
- it('basic usage', () => {
- const vm = new Vue({
- template: '<div>{{message}}</div>',
- data: { message: 'hello world' }
- }).$mount()
- expect(vm.$el.tagName).toBe('DIV')
- expect(vm.$el.textContent).toBe(vm.message)
- })
- it('id reference', () => {
- const vm = new Vue({
- template: '#app',
- data: { message: 'hello world' }
- }).$mount()
- expect(vm.$el.tagName).toBe('P')
- expect(vm.$el.textContent).toBe(vm.message)
- })
- it('DOM element', () => {
- const elm = document.createElement('p')
- elm.innerHTML = '<p>{{message}}</p>'
- const vm = new Vue({
- template: elm,
- data: { message: 'hello world' }
- }).$mount()
- expect(vm.$el.tagName).toBe('P')
- expect(vm.$el.textContent).toBe(vm.message)
- })
- it('invalid template', () => {
- new Vue({
- template: Vue,
- data: { message: 'hello world' }
- }).$mount()
- expect('invalid template option').toHaveBeenWarned()
- })
- })
|