From c107f895aa1e2fd9aac92b3fdb9761145569f14f Mon Sep 17 00:00:00 2001 From: Prateek R Patil Date: Sun, 18 Apr 2021 04:28:56 -0700 Subject: [PATCH] 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 --- src/core/core.datasetController.js | 1 + test/specs/core.datasetController.tests.js | 23 ++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/src/core/core.datasetController.js b/src/core/core.datasetController.js index 8d8e9a95ec9..a3882e9e66d 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 d9075754ca4..ce7d121b6c9 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({