From 66546abb76f03653ca87356557e6f6f04bc9ce62 Mon Sep 17 00:00:00 2001 From: Darren Seet Date: Fri, 24 Jan 2020 15:46:08 -0500 Subject: [PATCH] feat(event): add new history popstate event Added popstate to events map with respective tests #427 feat(event): simplify tests --- src/__tests__/events.js | 11 +++++++++++ src/events.js | 5 +++++ 2 files changed, 16 insertions(+) diff --git a/src/__tests__/events.js b/src/__tests__/events.js index 98de9fff..fdf78083 100644 --- a/src/__tests__/events.js +++ b/src/__tests__/events.js @@ -327,6 +327,17 @@ test('fires events on Window', () => { window.removeEventListener('message', messageSpy) }) +test('fires history popstate event on Window', () => { + const popStateSpy = jest.fn() + window.addEventListener('popstate', popStateSpy) + fireEvent.popState(window, { + location: 'http://www.example.com/?page=1', + state: {page: 1}, + }) + expect(popStateSpy).toHaveBeenCalledTimes(1) + window.removeEventListener('popstate', popStateSpy) +}) + test('fires shortcut events on Window', () => { const clickSpy = jest.fn() window.addEventListener('click', clickSpy) diff --git a/src/events.js b/src/events.js index 52b4c66d..56aa5a13 100644 --- a/src/events.js +++ b/src/events.js @@ -338,6 +338,11 @@ const eventMap = { EventType: 'PointerEvent', defaultInit: {bubbles: false, cancelable: false}, }, + // history events + popState: { + EventType: 'PopStateEvent', + defaultInit: {bubbles: true, cancelable: false}, + }, } const eventAliasMap = {