| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import Vue from 'vue'
- describe('Options renderError', () => {
- it('should be used on render errors', done => {
- Vue.config.errorHandler = () => {}
- const vm = new Vue({
- data: {
- ok: true
- },
- render(h) {
- if (this.ok) {
- return h('div', 'ok')
- } else {
- throw new Error('no')
- }
- },
- renderError(h, err) {
- return h('div', err.toString())
- }
- }).$mount()
- expect(vm.$el.textContent).toBe('ok')
- vm.ok = false
- waitForUpdate(() => {
- expect(vm.$el.textContent).toBe('Error: no')
- Vue.config.errorHandler = undefined
- }).then(done)
- })
- it('should pass on errors in renderError to global handler', () => {
- const spy = (Vue.config.errorHandler = vi.fn())
- const err = new Error('renderError')
- const vm = new Vue({
- render() {
- throw new Error('render')
- },
- renderError() {
- throw err
- }
- }).$mount()
- expect(spy).toHaveBeenCalledWith(err, vm, 'renderError')
- })
- })
|