From 4758a9e66dd0071426e666a551e0298998ae2145 Mon Sep 17 00:00:00 2001 From: jdalton Date: Wed, 1 Apr 2015 08:43:42 -0700 Subject: [PATCH] Ensure `_.inRange` swaps `start` with `end` when `start` is greater than `end`. [closes #1099] --- lodash.src.js | 2 +- test/test.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lodash.src.js b/lodash.src.js index 9abe72553..23b36f67c 100644 --- a/lodash.src.js +++ b/lodash.src.js @@ -10110,7 +10110,7 @@ } else { end = +end || 0; } - return value >= start && value < end; + return value >= nativeMin(start, end) && value < nativeMax(start, end); } /** diff --git a/test/test.js b/test/test.js index a155aba71..34cd8f993 100644 --- a/test/test.js +++ b/test/test.js @@ -6569,6 +6569,11 @@ }); }); + test('should swap `start` and `end` when `start` is greater than `end`', 2, function() { + strictEqual(_.inRange(2, 5, 1), true); + strictEqual(_.inRange(-3, -2, -6), true); + }); + test('should work with a floating point `n` value', 4, function() { strictEqual(_.inRange(0.5, 5), true); strictEqual(_.inRange(1.2, 1, 5), true);