From 5dd1b9c649a40d8604cdd848cf54bb703122da21 Mon Sep 17 00:00:00 2001 From: Antonio Laguna Date: Mon, 1 Jan 2018 16:03:32 +0100 Subject: [PATCH] Firing show event on the slide Fixes #104 --- src/js/modules/slide.js | 4 +++- test/modules/slide.test.js | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/js/modules/slide.js b/src/js/modules/slide.js index b23ee73..134ad38 100644 --- a/src/js/modules/slide.js +++ b/src/js/modules/slide.js @@ -8,8 +8,9 @@ const CLASSES = { const Events = { ENTER: 'dom:enter', LEAVE: 'dom:leave', + DISABLE: 'slide:disable', ENABLE: 'slide:enable', - DISABLE: 'slide:disable' + SHOW: 'slide:show' }; /** @@ -57,6 +58,7 @@ class Slide { show() { DOM.show(this.el); this.el.classList.add(CLASSES.CURRENT); + this.fire_(Events.SHOW); } /** diff --git a/test/modules/slide.test.js b/test/modules/slide.test.js index f77da77..364cb7d 100644 --- a/test/modules/slide.test.js +++ b/test/modules/slide.test.js @@ -71,22 +71,26 @@ describe('Slide module', () => { const enter = jest.fn(); const enable = jest.fn(); const disable = jest.fn(); + const show = jest.fn(); slide.el.addEventListener('dom:leave', leave); slide.el.addEventListener('dom:enter', enter); slide.el.addEventListener('slide:enable', enable); slide.el.addEventListener('slide:disable', disable); + slide.el.addEventListener('slide:show', show); expect(enter).not.toHaveBeenCalled(); expect(leave).not.toHaveBeenCalled(); expect(enable).not.toHaveBeenCalled(); expect(disable).not.toHaveBeenCalled(); + expect(show).not.toHaveBeenCalled(); slide.enable(); expect(enter).not.toHaveBeenCalled(); expect(leave).not.toHaveBeenCalled(); expect(enable).toHaveBeenCalledTimes(1); expect(disable).not.toHaveBeenCalled(); + expect(show).not.toHaveBeenCalled(); enable.mockClear(); slide.disable(); @@ -94,6 +98,7 @@ describe('Slide module', () => { expect(leave).not.toHaveBeenCalled(); expect(enable).not.toHaveBeenCalled(); expect(disable).toHaveBeenCalledTimes(1); + expect(show).not.toHaveBeenCalled(); disable.mockClear(); slide.moveAfterLast(); @@ -101,6 +106,7 @@ describe('Slide module', () => { expect(leave).toHaveBeenCalledTimes(1); expect(enable).not.toHaveBeenCalled(); expect(disable).not.toHaveBeenCalled(); + expect(show).not.toHaveBeenCalled(); enter.mockClear(); leave.mockClear(); @@ -109,8 +115,12 @@ describe('Slide module', () => { expect(leave).toHaveBeenCalledTimes(1); expect(enable).not.toHaveBeenCalled(); expect(disable).not.toHaveBeenCalled(); + expect(show).not.toHaveBeenCalled(); enter.mockClear(); leave.mockClear(); + + slide.show(); + expect(show).toHaveBeenCalled(); }); test('Move', () => {