From aa72b0b7cf08ab7979c71c4d27b3d64f33e6196a Mon Sep 17 00:00:00 2001 From: Alpha Chen Date: Mon, 26 Jun 2017 10:22:54 -0700 Subject: [PATCH] Simplified rounding code in toBeCloseTo Signed-off-by: Steve Gravrock --- lib/jasmine-core/jasmine.js | 5 ++++- src/core/matchers/toBeCloseTo.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/jasmine-core/jasmine.js b/lib/jasmine-core/jasmine.js index e27c3ecd..18abd74d 100644 --- a/lib/jasmine-core/jasmine.js +++ b/lib/jasmine-core/jasmine.js @@ -2795,8 +2795,11 @@ getJasmineRequireObj().toBeCloseTo = function() { } var pow = Math.pow(10, precision + 1); + var delta = Math.abs(expected - actual); + var maxDelta = Math.pow(10, -precision) / 2; + return { - pass: +(Math.round(Math.abs(expected - actual) * pow) / pow).toFixed(precision + 1) <= (Math.pow(10, -precision) / 2) + pass: Math.round(delta * pow) / pow <= maxDelta }; } }; diff --git a/src/core/matchers/toBeCloseTo.js b/src/core/matchers/toBeCloseTo.js index 7cd2b76f..31c79456 100644 --- a/src/core/matchers/toBeCloseTo.js +++ b/src/core/matchers/toBeCloseTo.js @@ -22,8 +22,11 @@ getJasmineRequireObj().toBeCloseTo = function() { } var pow = Math.pow(10, precision + 1); + var delta = Math.abs(expected - actual); + var maxDelta = Math.pow(10, -precision) / 2; + return { - pass: +(Math.round(Math.abs(expected - actual) * pow) / pow).toFixed(precision + 1) <= (Math.pow(10, -precision) / 2) + pass: Math.round(delta * pow) / pow <= maxDelta }; } };