mirror of
https://github.com/chartjs/Chart.js.git
synced 2026-03-24 00:56:51 +01:00
Fix chart crashing when max is defined but ticks are empty (#9641)
* Fix chart crashing when max is defined but ticks are empty * Adding spec to reproduce scale bounds calculation error Co-authored-by: Kurt Preston <kpreston@drw.com>
This commit is contained in:
@@ -128,7 +128,7 @@ function generateTicks(generationOptions, dataRange) {
|
||||
|
||||
if (maxDefined && includeBounds && niceMax !== max) {
|
||||
// If the previous tick is too close to max, replace it with max, else add max
|
||||
if (almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {
|
||||
if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {
|
||||
ticks[ticks.length - 1].value = max;
|
||||
} else {
|
||||
ticks.push({value: max});
|
||||
|
||||
@@ -51,6 +51,29 @@ describe('Linear Scale', function() {
|
||||
expect(chart.scales.y.max).toBe(150);
|
||||
});
|
||||
|
||||
it('Should handle when only a max value is provided', () => {
|
||||
var chart = window.acquireChart({
|
||||
type: 'line',
|
||||
data: {
|
||||
datasets: [{
|
||||
yAxisID: 'y',
|
||||
data: [200]
|
||||
}],
|
||||
},
|
||||
options: {
|
||||
scales: {
|
||||
y: {
|
||||
type: 'linear',
|
||||
max: 150
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
expect(chart.scales.y).not.toEqual(undefined); // must construct
|
||||
expect(chart.scales.y.max).toBe(150);
|
||||
});
|
||||
|
||||
it('Should correctly determine the max & min of string data values', function() {
|
||||
var chart = window.acquireChart({
|
||||
type: 'bar',
|
||||
|
||||
Reference in New Issue
Block a user