gitlab-org--gitlab-foss/spec/frontend/behaviors/load_startup_css_spec.js

45 lines
1.1 KiB
JavaScript

import { setHTMLFixture } from 'helpers/fixtures';
import { loadStartupCSS } from '~/behaviors/load_startup_css';
describe('behaviors/load_startup_css', () => {
let loadListener;
const setupListeners = () => {
document
.querySelectorAll('link')
.forEach((x) => x.addEventListener('load', () => loadListener(x)));
};
beforeEach(() => {
loadListener = jest.fn();
setHTMLFixture(`
<meta charset="utf-8" />
<link media="print" src="./lorem-print.css" />
<link media="print" src="./ipsum-print.css" />
<link media="all" src="./dolar-all.css" />
`);
setupListeners();
loadStartupCSS();
});
it('does nothing at first', () => {
expect(loadListener).not.toHaveBeenCalled();
});
describe('on window load', () => {
beforeEach(() => {
window.dispatchEvent(new Event('load'));
});
it('dispatches load to the print links', () => {
expect(loadListener.mock.calls.map(([el]) => el.getAttribute('src'))).toEqual([
'./lorem-print.css',
'./ipsum-print.css',
]);
});
});
});