From f7d60c2606816a410ad7b058ce838b09a15729aa Mon Sep 17 00:00:00 2001 From: etimberg Date: Sun, 13 Nov 2016 20:38:50 -0500 Subject: [PATCH] Allow line chart to use pointBorderWidth of 0 correctly --- src/controllers/controller.line.js | 6 +++--- test/controller.line.tests.js | 19 +++++++++++++++++++ test/controller.radar.tests.js | 17 +++++++++++++++++ 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/src/controllers/controller.line.js b/src/controllers/controller.line.js index 59d097b1be7..23d4eedc402 100644 --- a/src/controllers/controller.line.js +++ b/src/controllers/controller.line.js @@ -139,11 +139,11 @@ module.exports = function(Chart) { var dataset = this.getDataset(); var custom = point.custom || {}; - if (custom.borderWidth) { + if (!isNaN(custom.borderWidth)) { borderWidth = custom.borderWidth; - } else if (dataset.pointBorderWidth) { + } else if (!isNaN(dataset.pointBorderWidth)) { borderWidth = helpers.getValueAtIndexOrDefault(dataset.pointBorderWidth, index, borderWidth); - } else if (dataset.borderWidth) { + } else if (!isNaN(dataset.borderWidth)) { borderWidth = dataset.borderWidth; } diff --git a/test/controller.line.tests.js b/test/controller.line.tests.js index 3c66b268ec0..f15c693703b 100644 --- a/test/controller.line.tests.js +++ b/test/controller.line.tests.js @@ -753,4 +753,23 @@ describe('Line controller tests', function() { expect(point._model.borderWidth).toBe(5.5); expect(point._model.radius).toBe(4.4); }); + + it('should allow 0 as a point border width', function() { + var chart = window.acquireChart({ + type: 'line', + data: { + datasets: [{ + data: [10, 15, 0, -4], + label: 'dataset1', + pointBorderWidth: 0 + }], + labels: ['label1', 'label2', 'label3', 'label4'] + } + }); + + var meta = chart.getDatasetMeta(0); + var point = meta.data[0]; + + expect(point._model.borderWidth).toBe(0); + }); }); diff --git a/test/controller.radar.tests.js b/test/controller.radar.tests.js index b3ee711e16a..4b9c1f696dc 100644 --- a/test/controller.radar.tests.js +++ b/test/controller.radar.tests.js @@ -452,4 +452,21 @@ describe('Radar controller tests', function() { expect(point._model.borderWidth).toBe(5.5); expect(point._model.radius).toBe(4.4); }); + + it('should allow pointBorderWidth to be set to 0', function() { + var chart = window.acquireChart({ + type: 'radar', + data: { + datasets: [{ + data: [10, 15, 0, 4], + pointBorderWidth: 0 + }], + labels: ['label1', 'label2', 'label3', 'label4'] + } + }); + + var meta = chart.getDatasetMeta(0); + var point = meta.data[0]; + expect(point._model.borderWidth).toBe(0); + }); });