mirror of https://github.com/vuejs/vue.git
25 lines
824 B
JavaScript
25 lines
824 B
JavaScript
import Vue from 'vue'
|
|
import { invokeWithErrorHandling } from 'core/util/error'
|
|
|
|
describe('invokeWithErrorHandling', () => {
|
|
if (typeof Promise !== 'undefined') {
|
|
it('should errorHandler call once when nested calls return rejected promise', done => {
|
|
const originalHandler = Vue.config.errorHandler
|
|
const handler = Vue.config.errorHandler = jasmine.createSpy()
|
|
const userCatch = jasmine.createSpy()
|
|
const err = new Error('fake error')
|
|
|
|
invokeWithErrorHandling(() => {
|
|
return invokeWithErrorHandling(() => {
|
|
return Promise.reject(err)
|
|
})
|
|
}).catch(userCatch).then(() => {
|
|
Vue.config.errorHandler = originalHandler
|
|
expect(handler.calls.count()).toBe(1)
|
|
expect(userCatch).toHaveBeenCalledWith(err)
|
|
done()
|
|
})
|
|
})
|
|
}
|
|
})
|