diff options
Diffstat (limited to 'spec/frontend/lazy_loader_spec.js')
-rw-r--r-- | spec/frontend/lazy_loader_spec.js | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/spec/frontend/lazy_loader_spec.js b/spec/frontend/lazy_loader_spec.js index 79a49aedf37..5eb09bc2359 100644 --- a/spec/frontend/lazy_loader_spec.js +++ b/spec/frontend/lazy_loader_spec.js @@ -1,8 +1,8 @@ import { noop } from 'lodash'; -import LazyLoader from '~/lazy_loader'; import { TEST_HOST } from 'helpers/test_constants'; -import waitForPromises from './helpers/wait_for_promises'; import { useMockMutationObserver, useMockIntersectionObserver } from 'helpers/mock_dom_observer'; +import LazyLoader from '~/lazy_loader'; +import waitForPromises from './helpers/wait_for_promises'; const execImmediately = callback => { callback(); @@ -45,10 +45,24 @@ describe('LazyLoader', () => { return newImg; }; + const mockLoadEvent = () => { + const addEventListener = window.addEventListener.bind(window); + + jest.spyOn(window, 'addEventListener').mockImplementation((event, callback) => { + if (event === 'load') { + callback(); + } else { + addEventListener(event, callback); + } + }); + }; + beforeEach(() => { jest.spyOn(window, 'requestAnimationFrame').mockImplementation(execImmediately); jest.spyOn(window, 'requestIdleCallback').mockImplementation(execImmediately); jest.spyOn(LazyLoader, 'loadImage'); + + mockLoadEvent(); }); afterEach(() => { |