renderError.spec.js 652 B

12345678910111213141516171819202122232425262728
  1. import Vue from 'vue'
  2. describe('Options renderError', () => {
  3. it('should be used on render errors', done => {
  4. Vue.config.errorHandler = () => {}
  5. const vm = new Vue({
  6. data: {
  7. ok: true
  8. },
  9. render (h) {
  10. if (this.ok) {
  11. return h('div', 'ok')
  12. } else {
  13. throw new Error('no')
  14. }
  15. },
  16. renderError (h, err) {
  17. return h('div', err.toString())
  18. }
  19. }).$mount()
  20. expect(vm.$el.textContent).toBe('ok')
  21. vm.ok = false
  22. waitForUpdate(() => {
  23. expect(vm.$el.textContent).toBe('Error: no')
  24. Vue.config.errorHandler = null
  25. }).then(done)
  26. })
  27. })