diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js index b87cd9fbc54..1e515b544c3 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.js @@ -807,6 +807,10 @@ */ clear: function () { this._objects.length = 0; + this.backgroundImage = null; + this.overlayImage = null; + this.backgroundColor = ''; + this.overlayColor = '' this.clearContext(this.contextContainer); this.fire('canvas:cleared'); this.renderAll(); diff --git a/test/unit/canvas_static.js b/test/unit/canvas_static.js index 4d16a445bd7..a7cf82ac031 100644 --- a/test/unit/canvas_static.js +++ b/test/unit/canvas_static.js @@ -434,9 +434,17 @@ test('clear', function() { ok(typeof canvas.clear == 'function'); - + var bg = new fabric.Rect({ width: 10, height: 20 }); + canvas.backgroundColor = '#FF0000'; + canvas.overlayColor = '#FF0000'; + canvas.backgroundImage = bg; + canvas.overlayImage = bg; equal(canvas.clear(), canvas, 'should be chainable'); - equal(canvas.getObjects().length, 0); + equal(canvas.getObjects().length, 0, 'clear remove all objects'); + equal(canvas.backgroundColor, '', 'clear remove background color'); + equal(canvas.overlayColor, '', 'clear remove overlay color'); + equal(canvas.backgroundImage, null, 'clear remove bg image'); + equal(canvas.overlayImage, null, 'clear remove overlay image'); }); test('renderAll', function() {