mirror of
https://github.com/chartjs/Chart.js.git
synced 2025-12-08 20:36:08 +00:00
do not attempt to clear canvas if one does not exist (#11764)
* do not attempt to clear canvas if one does not exist * update test to explicitly run clearCanvas method to ensure it doesn't throw an error * explicitly set canvas and ctx to null in test since the helper in test code didn't * Update test/specs/helpers.canvas.tests.js --------- Co-authored-by: Jacco van den Berg <jaccoberg2281@gmail.com>
This commit is contained in:
parent
ca76d73149
commit
e7b8fa290f
@ -131,7 +131,11 @@ export function _alignPixel(chart: Chart, pixel: number, width: number) {
|
||||
/**
|
||||
* Clears the entire canvas.
|
||||
*/
|
||||
export function clearCanvas(canvas: HTMLCanvasElement, ctx?: CanvasRenderingContext2D) {
|
||||
export function clearCanvas(canvas?: HTMLCanvasElement, ctx?: CanvasRenderingContext2D) {
|
||||
if (!ctx && !canvas) {
|
||||
return;
|
||||
}
|
||||
|
||||
ctx = ctx || canvas.getContext('2d');
|
||||
|
||||
ctx.save();
|
||||
|
||||
@ -21,6 +21,21 @@ describe('Chart.helpers.canvas', function() {
|
||||
expect(chart.ctx.clearRect.calls.first().object).toBe(chart.ctx);
|
||||
expect(chart.ctx.clearRect.calls.first().args).toEqual([0, 0, 150, 245]);
|
||||
});
|
||||
|
||||
it('should not throw error when chart is null', function() {
|
||||
function createAndClearChart() {
|
||||
var chart = acquireChart({}, {
|
||||
canvas: null
|
||||
});
|
||||
// explicitly set canvas and ctx to null since setting it in acquireChart doesn't do anything
|
||||
chart.canvas = null;
|
||||
chart.ctx = null;
|
||||
|
||||
helpers.clearCanvas(chart.canvas, chart.ctx);
|
||||
}
|
||||
|
||||
expect(createAndClearChart).not.toThrow();
|
||||
});
|
||||
});
|
||||
|
||||
describe('isPointInArea', function() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user