From 158f31c487c571c4e180c6579bae491de674c62a Mon Sep 17 00:00:00 2001 From: GabrielMancik Date: Thu, 23 Mar 2017 13:56:04 +0100 Subject: [PATCH 1/4] Fixed different calculation of scale min and max when dataset contains no values --- src/scales/scale.linearbase.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/scales/scale.linearbase.js b/src/scales/scale.linearbase.js index dc700f304ee..ad95fab84d9 100644 --- a/src/scales/scale.linearbase.js +++ b/src/scales/scale.linearbase.js @@ -30,13 +30,21 @@ module.exports = function(Chart) { if (tickOpts.min !== undefined) { me.min = tickOpts.min; } else if (tickOpts.suggestedMin !== undefined) { - me.min = Math.min(me.min, tickOpts.suggestedMin); + if (me.min === null) { + me.min = tickOpts.suggestedMin; + } else { + me.min = Math.min(me.min, tickOpts.suggestedMin); + } } if (tickOpts.max !== undefined) { me.max = tickOpts.max; } else if (tickOpts.suggestedMax !== undefined) { - me.max = Math.max(me.max, tickOpts.suggestedMax); + if (me.max === null) { + me.max = tickOpts.suggestedMax; + } else { + me.max = Math.max(me.max, tickOpts.suggestedMax); + } } if (me.min === me.max) { From b3edc4b02018a623024f24cf2354ebf7b81bdac6 Mon Sep 17 00:00:00 2001 From: GabrielMancik Date: Thu, 23 Mar 2017 14:44:43 +0100 Subject: [PATCH 2/4] Removed trailing spaces --- src/scales/scale.linearbase.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scales/scale.linearbase.js b/src/scales/scale.linearbase.js index ad95fab84d9..b87272177fc 100644 --- a/src/scales/scale.linearbase.js +++ b/src/scales/scale.linearbase.js @@ -31,7 +31,7 @@ module.exports = function(Chart) { me.min = tickOpts.min; } else if (tickOpts.suggestedMin !== undefined) { if (me.min === null) { - me.min = tickOpts.suggestedMin; + me.min = tickOpts.suggestedMin; } else { me.min = Math.min(me.min, tickOpts.suggestedMin); } From 1ae59a260c443033a4f2db270420c525164544ab Mon Sep 17 00:00:00 2001 From: GabrielMancik Date: Tue, 28 Mar 2017 08:52:14 +0200 Subject: [PATCH 3/4] Added test for correct min/max calculation --- test/specs/scale.linear.tests.js | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/test/specs/scale.linear.tests.js b/test/specs/scale.linear.tests.js index e94741cf6a0..4e9b5aa148f 100644 --- a/test/specs/scale.linear.tests.js +++ b/test/specs/scale.linear.tests.js @@ -116,6 +116,35 @@ describe('Linear Scale', function() { expect(chart.scales.yScale0.min).toBe(-100); expect(chart.scales.yScale0.max).toBe(150); }); + + it('Should correctly determine the max & min when no values provided and suggested minimum and maximum are set', function() { + var chart = window.acquireChart({ + type: 'bar', + data: { + datasets: [{ + yAxisID: 'yScale0', + data: [] + }], + labels: ['a', 'b', 'c', 'd', 'e', 'f'] + }, + options: { + scales: { + yAxes: [{ + id: 'yScale0', + type: 'linear', + ticks: { + suggestedMin: -10, + suggestedMax: 15 + } + }] + } + } + }); + + expect(chart.scales.yScale0).not.toEqual(undefined); // must construct + expect(chart.scales.yScale0.min).toBe(-10); + expect(chart.scales.yScale0.max).toBe(15); + }); it('Should correctly determine the max & min data values ignoring hidden datasets', function() { var chart = window.acquireChart({ From 0d5ed662746b676d4943514572a1a36321353859 Mon Sep 17 00:00:00 2001 From: GabrielMancik Date: Tue, 28 Mar 2017 09:00:19 +0200 Subject: [PATCH 4/4] Removed trailing spaces --- test/specs/scale.linear.tests.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/specs/scale.linear.tests.js b/test/specs/scale.linear.tests.js index 4e9b5aa148f..c63cad338f6 100644 --- a/test/specs/scale.linear.tests.js +++ b/test/specs/scale.linear.tests.js @@ -116,7 +116,7 @@ describe('Linear Scale', function() { expect(chart.scales.yScale0.min).toBe(-100); expect(chart.scales.yScale0.max).toBe(150); }); - + it('Should correctly determine the max & min when no values provided and suggested minimum and maximum are set', function() { var chart = window.acquireChart({ type: 'bar',