From: Prateek R Patil Date: Sun, 18 Apr 2021 11:28:56 +0000 (-0700) Subject: Fix for allowing parsing:false with stacks (#8934) X-Git-Tag: v3.2.0~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c107f895aa1e2fd9aac92b3fdb9761145569f14f;p=thirdparty%2FChart.js.git Fix for allowing parsing:false with stacks (#8934) * Initial fix for allowing parsing:false with stacks * Added test from #8935 as requested. Co-authored-by: tinfoilpancakes --- diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 8d8e9a95e..a3882e9e6 100644 --- a/src/core/core.datasetController.js +++ b/src/core/core.datasetController.js @@ -392,6 +392,7 @@ export default class DatasetController { if (me._parsing === false) { meta._parsed = data; meta._sorted = true; + parsed = data; } else { if (isArray(data[start])) { parsed = me.parseArrayData(meta, data, start, count); diff --git a/test/specs/core.datasetController.tests.js b/test/specs/core.datasetController.tests.js index d9075754c..ce7d121b6 100644 --- a/test/specs/core.datasetController.tests.js +++ b/test/specs/core.datasetController.tests.js @@ -699,6 +699,29 @@ describe('Chart.DatasetController', function() { Chart.defaults.parsing = originalDefault; }); + it('should not fail to produce stacks when parsing is off', function() { + var chart = acquireChart({ + type: 'line', + data: { + datasets: [{ + data: [{x: 1, y: 10}] + }, { + data: [{x: 1, y: 20}] + }] + }, + options: { + parsing: false, + scales: { + x: {stacked: true}, + y: {stacked: true} + } + } + }); + + var meta = chart.getDatasetMeta(0); + expect(meta._parsed[0]._stacks).toEqual(jasmine.objectContaining({y: {0: 10, 1: 20}})); + }); + describe('resolveDataElementOptions', function() { it('should cache options when possible', function() { const chart = acquireChart({