Fix AJAX error alert

This commit is contained in:
Pig Fang 2019-12-05 18:54:50 +08:00
parent 5f202c3cee
commit 060578ca95
2 changed files with 8 additions and 3 deletions

View File

@ -64,8 +64,8 @@ export async function walkFetch(request: Request): Promise<any> {
if (body.exception && Array.isArray(body.trace)) {
const trace = (body.trace as Array<{ file: string, line: number }>)
.map((t, i) => `[${i + 1}] ${t.file}#L${t.line}`)
.join('\n')
message = `${message}\n<details>${trace}</details>`
.join('<br>')
message = `${message}<br><details>${trace}</details>`
}
throw new HTTPError(message || body, cloned)
@ -76,6 +76,7 @@ export async function walkFetch(request: Request): Promise<any> {
title: trans('general.fatalError'),
dangerousHTML: error.message,
type: 'danger',
okButtonType: 'outline-light',
})
}
}

View File

@ -153,6 +153,7 @@ test('low level fetch', async () => {
title: 'general.fatalError',
dangerousHTML: 'network',
type: 'danger',
okButtonType: 'outline-light',
})
expect(stub).toBeCalledWith(expect.any(Error))
@ -162,6 +163,7 @@ test('low level fetch', async () => {
title: 'general.fatalError',
dangerousHTML: '404',
type: 'danger',
okButtonType: 'outline-light',
})
expect(stub.mock.calls[1][0]).toHaveProperty('message', '404')
expect(stub.mock.calls[1][0]).toHaveProperty('response')
@ -172,6 +174,7 @@ test('low level fetch', async () => {
title: 'general.fatalError',
dangerousHTML: 'error',
type: 'danger',
okButtonType: 'outline-light',
})
expect(stub.mock.calls[2][0]).toHaveProperty('message', 'error')
expect(stub.mock.calls[2][0]).toHaveProperty('response')
@ -236,8 +239,9 @@ test('process backend errors', async () => {
expect(showModal).toBeCalledWith({
mode: 'alert',
title: 'general.fatalError',
dangerousHTML: 'fake exception\n<details>[1] k.php#L2\n[2] v.php#L3</details>',
dangerousHTML: 'fake exception<br><details>[1] k.php#L2<br>[2] v.php#L3</details>',
type: 'danger',
okButtonType: 'outline-light',
})
})