2023-11-29 00:11:15 +02:00
|
|
|
/* eslint-env qunit */
|
|
|
|
import TestHelpers from './test-helpers.js';
|
|
|
|
|
|
|
|
QUnit.module('ErrorDisplay');
|
|
|
|
|
|
|
|
QUnit.test('should update errorDisplay when several errors occur in succession', function(assert) {
|
|
|
|
const player = TestHelpers.makePlayer({ techOrder: ['html5'] });
|
|
|
|
const events = {
|
|
|
|
beforemodalopen: 0,
|
|
|
|
beforemodalclose: 0,
|
|
|
|
modalopen: 0,
|
|
|
|
modalclose: 0
|
|
|
|
};
|
|
|
|
|
|
|
|
player.errorDisplay.on(
|
|
|
|
['beforemodalopen', 'beforemodalclose', 'modalopen', 'modalclose'],
|
|
|
|
({ type }) => {
|
|
|
|
events[type] += 1;
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
// Dummy case for initial state
|
|
|
|
assert.strictEqual(player.error(), null, 'error is null');
|
|
|
|
assert.strictEqual(
|
|
|
|
player.errorDisplay.contentEl().textContent,
|
|
|
|
'',
|
|
|
|
'error display contentEl textContent is empty'
|
|
|
|
);
|
|
|
|
assert.strictEqual(events.beforemodalopen, 0, 'beforemodalopen was not called');
|
|
|
|
assert.strictEqual(events.modalopen, 0, 'modalopen was not called');
|
|
|
|
assert.strictEqual(events.beforemodalclose, 0, 'beforemodalclose was not called');
|
|
|
|
assert.strictEqual(events.modalclose, 0, 'modalclose was not called');
|
|
|
|
|
|
|
|
// Case for first error
|
|
|
|
player.error('Error 1');
|
|
|
|
|
|
|
|
assert.strictEqual(player.error().message, 'Error 1', 'error has message');
|
|
|
|
assert.strictEqual(
|
|
|
|
player.errorDisplay.contentEl().textContent,
|
|
|
|
'Error 1',
|
|
|
|
'error display contentEl textContent has content'
|
|
|
|
);
|
|
|
|
assert.strictEqual(events.beforemodalopen, 1, 'beforemodalopen was called once');
|
|
|
|
assert.strictEqual(events.modalopen, 1, 'modalopen was called once');
|
|
|
|
assert.strictEqual(events.beforemodalclose, 0, 'beforemodalclose was not called');
|
|
|
|
assert.strictEqual(events.modalclose, 0, 'modalclose was not called');
|
|
|
|
|
|
|
|
// Case for second error
|
|
|
|
player.error('Error 2');
|
|
|
|
|
|
|
|
assert.strictEqual(player.error().message, 'Error 2', 'error has new message');
|
|
|
|
assert.strictEqual(
|
|
|
|
player.errorDisplay.contentEl().textContent,
|
|
|
|
'Error 2',
|
|
|
|
'error display contentEl textContent has been updated with the new error message'
|
|
|
|
);
|
2024-01-30 18:32:58 +02:00
|
|
|
assert.strictEqual(events.beforemodalopen, 1, 'beforemodalopen was called once');
|
|
|
|
assert.strictEqual(events.modalopen, 1, 'modalopen has been called once');
|
|
|
|
assert.strictEqual(events.beforemodalclose, 0, 'beforemodalclose was not called');
|
|
|
|
assert.strictEqual(events.modalclose, 0, 'modalclose was not called');
|
2023-11-29 00:11:15 +02:00
|
|
|
|
|
|
|
player.dispose();
|
|
|
|
});
|