mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-30 14:09:42 -05:00
5d09023f13
Gitea treat JS errors seriously, so sometimes the JS errors caused by 3rdparty code (eg: browser extensions) would also be reported on Gitea UI: TypeError: WeakMap key undefined (caused by extension DarkReader's bug) #28861 To avoid fill the user's screen with a lot of error messages, this PR merges the same error messages into one, like this: ```js <div class="page-content"> <div class="... js-global-error" data-global-error-msg-compact="testmsg1" data-global-error-msg-count="2">test msg 1 (2)</div> <div class="... js-global-error" data-global-error-msg-compact="testmsg2" data-global-error-msg-count="1">test msg 2</div> </div> ```
12 lines
499 B
JavaScript
12 lines
499 B
JavaScript
import {showGlobalErrorMessage} from './bootstrap.js';
|
|
|
|
test('showGlobalErrorMessage', () => {
|
|
document.body.innerHTML = '<div class="page-content"></div>';
|
|
showGlobalErrorMessage('test msg 1');
|
|
showGlobalErrorMessage('test msg 2');
|
|
showGlobalErrorMessage('test msg 1'); // duplicated
|
|
|
|
expect(document.body.innerHTML).toContain('>test msg 1 (2)<');
|
|
expect(document.body.innerHTML).toContain('>test msg 2<');
|
|
expect(document.querySelectorAll('.js-global-error').length).toEqual(2);
|
|
});
|