* fixes error on undefined stacks
* added test for functionality
function clearStacks(meta, items) {
items = items || meta._parsed;
items.forEach((parsed) => {
+ if (parsed._stacks[meta.vScale.id] === undefined || parsed._stacks[meta.vScale.id][meta.index] === undefined) {
+ return;
+ }
delete parsed._stacks[meta.vScale.id][meta.index];
});
}
});
});
+ it('should not try to delete non existent stacks', function() {
+ function createAndUpdateChart() {
+ var chart = acquireChart({
+ data: {
+ labels: ['q'],
+ datasets: [
+ {
+ id: 'dismissed',
+ label: 'Test before',
+ yAxisID: 'count',
+ data: [816],
+ type: 'bar',
+ stack: 'stack'
+ }
+ ]
+ },
+ options: {
+ scales: {
+ count: {
+ axis: 'y',
+ type: 'linear'
+ }
+ }
+ }
+ });
+
+ chart.data = {
+ datasets: [
+ {
+ id: 'tests',
+ yAxisID: 'count',
+ label: 'Test after',
+ data: [38300],
+ type: 'bar'
+ }
+ ],
+ labels: ['q']
+ };
+
+ chart.update();
+ }
+
+ expect(createAndUpdateChart).not.toThrow();
+ });
+
describe('inextensible data', function() {
it('should handle a frozen data object', function() {
function createChart() {