| 123456789101112131415161718192021222324252627282930 |
- import Vue from 'entries/web-runtime'
- describe('Options render', () => {
- it('basic usage', () => {
- const vm = new Vue({
- render () {
- const h = this.$createElement
- const children = []
- for (let i = 0; i < this.items.length; i++) {
- children.push(h('li', { staticClass: 'task' }, this.items[i].name /* string as children*/))
- }
- return h('ul', { staticClass: 'tasks' }, children)
- },
- data: {
- items: [{ id: 1, name: 'task1' }, { id: 2, name: 'task2' }]
- }
- }).$mount()
- expect(vm.$el.tagName).toBe('UL')
- for (let i = 0; i < vm.$el.children.length; i++) {
- const li = vm.$el.children[i]
- expect(li.tagName).toBe('LI')
- expect(li.textContent).toBe(vm.items[i].name)
- }
- })
- it('should warn non `render` option and non `template` option', () => {
- new Vue().$mount()
- expect('Failed to mount component: template or render function not defined.').toHaveBeenWarned()
- })
- })
|