From 210808ed54f3abe47b936c95df4dd920c7478a57 Mon Sep 17 00:00:00 2001 From: Nick Weingartner Date: Wed, 9 May 2018 17:03:18 -0400 Subject: [PATCH] [Timer] Fix regression in timer visual indication and add tests --- .../clock/src/controllers/TimerController.js | 12 ++++++++++++ .../clock/test/controllers/TimerControllerSpec.js | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/platform/features/clock/src/controllers/TimerController.js b/platform/features/clock/src/controllers/TimerController.js index 5c92ee4991..4825175e87 100644 --- a/platform/features/clock/src/controllers/TimerController.js +++ b/platform/features/clock/src/controllers/TimerController.js @@ -52,9 +52,12 @@ define( self.textValue = formatter(timeDelta); self.signValue = timeDelta < 0 ? "-" : timeDelta >= 1000 ? "+" : ""; + self.signCssClass = timeDelta < 0 ? "icon-minus" : + timeDelta >= 1000 ? "icon-plus" : ""; } else { self.textValue = ""; self.signValue = ""; + self.signCssClass = ""; } } @@ -215,6 +218,15 @@ define( return this.signValue; }; + /** + * Get the sign (+ or -) of the current timer value, as + * a CSS class. + * @returns {string} sign of the current timer value + */ + TimerController.prototype.signClass = function () { + return this.signCssClass; + }; + /** * Get the text to display for the current timer value. * @returns {string} current timer value diff --git a/platform/features/clock/test/controllers/TimerControllerSpec.js b/platform/features/clock/test/controllers/TimerControllerSpec.js index 002ce5c007..ee8c7ca8d7 100644 --- a/platform/features/clock/test/controllers/TimerControllerSpec.js +++ b/platform/features/clock/test/controllers/TimerControllerSpec.js @@ -127,6 +127,7 @@ define( mockNow.andReturn(TEST_TIMESTAMP); mockWindow.requestAnimationFrame.mostRecentCall.args[0](); expect(controller.sign()).toEqual(""); + expect(controller.signClass()).toEqual(""); expect(controller.text()).toEqual(""); }); @@ -139,16 +140,19 @@ define( mockNow.andReturn(TEST_TIMESTAMP + 121000); mockWindow.requestAnimationFrame.mostRecentCall.args[0](); expect(controller.sign()).toEqual("+"); + expect(controller.signClass()).toEqual("icon-plus"); expect(controller.text()).toEqual("0D 00:02:01"); mockNow.andReturn(TEST_TIMESTAMP - 121000); mockWindow.requestAnimationFrame.mostRecentCall.args[0](); expect(controller.sign()).toEqual("-"); + expect(controller.signClass()).toEqual("icon-minus"); expect(controller.text()).toEqual("0D 00:02:01"); mockNow.andReturn(TEST_TIMESTAMP); mockWindow.requestAnimationFrame.mostRecentCall.args[0](); expect(controller.sign()).toEqual(""); + expect(controller.signClass()).toEqual(""); expect(controller.text()).toEqual("0D 00:00:00"); });