diff --git a/public/app/core/utils/rangeutil.ts b/public/app/core/utils/rangeutil.ts index 21fea34fe68..9e44a50c81f 100644 --- a/public/app/core/utils/rangeutil.ts +++ b/public/app/core/utils/rangeutil.ts @@ -134,8 +134,12 @@ _.each(rangeOptions, function (frame) { return from.fromNow() + ' to ' + formatDate(range.to); } - var res = describeTextRange(range.from); - return res.display; + if (range.to.toString() === 'now') { + var res = describeTextRange(range.from); + return res.display; + } + + return range.from.toString() + ' to ' + range.to.toString(); } export = { diff --git a/public/test/specs/core/utils/rangeutil_specs.ts b/public/test/specs/core/utils/rangeutil_specs.ts index 8816a15f73d..32286764c20 100644 --- a/public/test/specs/core/utils/rangeutil_specs.ts +++ b/public/test/specs/core/utils/rangeutil_specs.ts @@ -80,6 +80,22 @@ describe("rangeUtil", () => { var text = rangeUtil.describeTimeRange({from: 'now-13h', to: 'now'}); expect(text).to.be('Last 13 hours') }); + + it('Date range with from and to both are in now-* format', () => { + var text = rangeUtil.describeTimeRange({from: 'now-6h', to: 'now-3h'}); + expect(text).to.be('now-6h to now-3h') + }); + + it('Date range with from and to both are either in now-* or now/* format', () => { + var text = rangeUtil.describeTimeRange({from: 'now/d+6h', to: 'now-3h'}); + expect(text).to.be('now/d+6h to now-3h') + }); + + it('Date range with from and to both are either in now-* or now+* format', () => { + var text = rangeUtil.describeTimeRange({from: 'now-6h', to: 'now+1h'}); + expect(text).to.be('now-6h to now+1h') + }); + }); });