diff --git a/src/shapes/object.class.js b/src/shapes/object.class.js index 63e7acb459f..35401edcbb6 100644 --- a/src/shapes/object.class.js +++ b/src/shapes/object.class.js @@ -762,6 +762,7 @@ object = { type: this.type, + version: fabric.version, originX: this.originX, originY: this.originY, left: toFixed(this.left, NUM_FRACTION_DIGITS), diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js index 31a41a88520..5993a0c2315 100644 --- a/src/static_canvas.class.js +++ b/src/static_canvas.class.js @@ -1108,6 +1108,7 @@ _toObjectMethod: function (methodName, propertiesToInclude) { var data = { + version: fabric.version, objects: this._toObjects(methodName, propertiesToInclude) }; diff --git a/test/unit/activeselection.js b/test/unit/activeselection.js index 19e398d57d7..d831a788447 100644 --- a/test/unit/activeselection.js +++ b/test/unit/activeselection.js @@ -56,6 +56,7 @@ var clone = group.toObject(); var expectedObject = { + 'version': fabric.version, 'type': 'activeSelection', 'originX': 'left', 'originY': 'top', @@ -100,6 +101,7 @@ group.includeDefaultValues = false; var clone = group.toObject(); var objects = [{ + 'version': fabric.version, type: 'rect', left: 10, top: -30, @@ -107,6 +109,7 @@ height: 10, strokeWidth: 0 }, { + 'version': fabric.version, type: 'rect', left: -40, top: -10, @@ -115,6 +118,7 @@ strokeWidth: 0 }]; var expectedObject = { + 'version': fabric.version, 'type': 'activeSelection', 'left': 50, 'top': 100, diff --git a/test/unit/canvas.js b/test/unit/canvas.js index 5cb2f950451..f164c8a19eb 100644 --- a/test/unit/canvas.js +++ b/test/unit/canvas.js @@ -1,11 +1,11 @@ (function() { - var EMPTY_JSON = '{"objects":[]}'; + var EMPTY_JSON = '{"version":"' + fabric.version + '","objects":[]}'; // var emptyImageCanvasData = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAH7ElEQVR4nO3VMQ0AMAzAsPInvYHoMS2yEeTLHADge/M6AADYM3QACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIuMjH4b7osLFBAAAAAElFTkSuQmCC"; - var PATH_JSON = '{"objects": [{"type": "path", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + + var PATH_JSON = '{"version":"' + fabric.version + '","objects": [{"version":"' + fabric.version + '","type": "path", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + ' "fill": "rgb(0,0,0)", "stroke": null, "strokeWidth": 1, "scaleX": 1, "scaleY": 1, ' + '"angle": 0, "flipX": false, "flipY": false, "opacity": 1, "path": [["M", 18.511, 13.99],' + ' ["c", 0, 0, -2.269, -4.487, -12.643, 4.411], ["c", 0, 0, 4.824, -14.161, 19.222, -9.059],' + @@ -22,7 +22,7 @@ '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, ' + '13.99], ["z", null]]}], "background": "#ff5555","overlay": "rgba(0,0,0,0.2)"}'; - var PATH_WITHOUT_DEFAULTS_JSON = '{"objects": [{"type": "path", "left": 268, "top": 266, "width": 51, "height": 49, "path": [["M", 18.511, 13.99],' + + var PATH_WITHOUT_DEFAULTS_JSON = '{"version":"' + fabric.version + '","objects": [{"version":"' + fabric.version + '","type": "path", "left": 268, "top": 266, "width": 51, "height": 49, "path": [["M", 18.511, 13.99],' + ' ["c", 0, 0, -2.269, -4.487, -12.643, 4.411], ["c", 0, 0, 4.824, -14.161, 19.222, -9.059],' + ' ["l", 0.379, -2.1], ["c", -0.759, -0.405, -1.375, -1.139, -1.645, -2.117], ["c", -0.531, ' + '-1.864, 0.371, -3.854, 1.999, -4.453], ["c", 0.312, -0.118, 0.633, -0.169, 0.953, -0.169], ' + @@ -37,7 +37,7 @@ '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, ' + '13.99], ["z", null]]}], "background": "#ff5555","overlay": "rgba(0,0,0,0.2)"}'; - var PATH_OBJ_JSON = '{"type": "path", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + + var PATH_OBJ_JSON = '{"version":"' + fabric.version + '","type": "path", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + ' "fill": "rgb(0,0,0)", "stroke": null, "strokeWidth": 1, "scaleX": 1, "scaleY": 1, ' + '"angle": 0, "flipX": false, "flipY": false, "opacity": 1, "path": [["M", 18.511, 13.99],' + ' ["c", 0, 0, -2.269, -4.487, -12.643, 4.411], ["c", 0, 0, 4.824, -14.161, 19.222, -9.059],' + @@ -54,12 +54,12 @@ '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, ' + '13.99], ["z", null]]}'; - var PATH_DATALESS_JSON = '{"objects":[{"type":"path","originX":"left","originY":"top","left":100,"top":100,"width":200,"height":200,"fill":"rgb(0,0,0)",' + + var PATH_DATALESS_JSON = '{"version":"' + fabric.version + '","objects":[{"type":"path","version":"' + fabric.version + '","originX":"left","originY":"top","left":100,"top":100,"width":200,"height":200,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,' + '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"sourcePath":"http://example.com/"}]}'; - var RECT_JSON = '{"objects":[{"type":"rect","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":10,"fill":"rgb(0,0,0)",' + + var RECT_JSON = '{"version":"' + fabric.version + '","objects":[{"type":"rect","version":"' + fabric.version + '","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":10,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,' + '"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0}],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}'; @@ -698,7 +698,7 @@ }); test('centerObject', function() { - ok(typeof canvas.centerObject == 'function'); + ok(typeof canvas.centerObject === 'function'); var rect = makeRect({ left: 102, top: 202 }); canvas.add(rect); equal(canvas.centerObject(rect), canvas, 'should be chainable'); @@ -724,11 +724,11 @@ }); test('toJSON', function() { - ok(typeof canvas.toJSON == 'function'); + ok(typeof canvas.toJSON === 'function'); equal(JSON.stringify(canvas.toJSON()), EMPTY_JSON); canvas.backgroundColor = '#ff5555'; canvas.overlayColor = 'rgba(0,0,0,0.2)'; - equal(JSON.stringify(canvas.toJSON()), '{"objects":[],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}', '`background` and `overlayColor` value should be reflected in json'); + equal(JSON.stringify(canvas.toJSON()), '{"version":"' + fabric.version + '","objects":[],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}', '`background` and `overlayColor` value should be reflected in json'); canvas.add(makeRect()); deepEqual(JSON.stringify(canvas.toJSON()), RECT_JSON); }); @@ -756,6 +756,7 @@ test('toObject', function() { ok(typeof canvas.toObject == 'function'); var expectedObject = { + 'version': fabric.version, objects: canvas.getObjects() }; deepEqual(expectedObject, canvas.toObject()); @@ -769,6 +770,7 @@ test('toDatalessObject', function() { ok(typeof canvas.toDatalessObject == 'function'); var expectedObject = { + 'version': fabric.version, objects: canvas.getObjects() }; deepEqual(expectedObject, canvas.toDatalessObject()); diff --git a/test/unit/canvas_static.js b/test/unit/canvas_static.js index 3b94f58f401..fe9bb1f4196 100644 --- a/test/unit/canvas_static.js +++ b/test/unit/canvas_static.js @@ -8,7 +8,7 @@ var CANVAS_SVG_VIEWBOX = '\n\n' + '\nCreated with Fabric.js ' + fabric.version + '\n\n\n'; - var PATH_JSON = '{"objects": [{"type": "path", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + + var PATH_JSON = '{"version":"' + fabric.version + '","objects": [{"type": "path", "version":"' + fabric.version + '", "originX": "left", "originY": "top", "left": 268, "top": 266, "width": 51, "height": 49,' + ' "fill": "rgb(0,0,0)", "stroke": null, "strokeWidth": 1, "scaleX": 1, "scaleY": 1, ' + '"angle": 0, "flipX": false, "flipY": false, "opacity": 1, "path": [["M", 18.511, 13.99],' + ' ["c", 0, 0, -2.269, -4.487, -12.643, 4.411], ["c", 0, 0, 4.824, -14.161, 19.222, -9.059],' + @@ -25,7 +25,7 @@ '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, ' + '13.99], ["z", null]]}], "background": "#ff5555", "overlay":"rgba(0,0,0,0.2)"}'; - var PATH_WITHOUT_DEFAULTS_JSON = '{"objects": [{"type": "path", "left": 268, "top": 266, "width": 51, "height": 49, "path": [["M", 18.511, 13.99],' + + var PATH_WITHOUT_DEFAULTS_JSON = '{"version":"' + fabric.version + '","objects": [{"type": "path", "version":"' + fabric.version + '", "left": 268, "top": 266, "width": 51, "height": 49, "path": [["M", 18.511, 13.99],' + ' ["c", 0, 0, -2.269, -4.487, -12.643, 4.411], ["c", 0, 0, 4.824, -14.161, 19.222, -9.059],' + ' ["l", 0.379, -2.1], ["c", -0.759, -0.405, -1.375, -1.139, -1.645, -2.117], ["c", -0.531, ' + '-1.864, 0.371, -3.854, 1.999, -4.453], ["c", 0.312, -0.118, 0.633, -0.169, 0.953, -0.169], ' + @@ -40,17 +40,17 @@ '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, ' + '13.99], ["z", null]]}], "background": "#ff5555","overlay": "rgba(0,0,0,0.2)"}'; - var PATH_DATALESS_JSON = '{"objects":[{"type":"path","originX":"left","originY":"top","left":100,"top":100,"width":200,"height":200,"fill":"rgb(0,0,0)",' + + var PATH_DATALESS_JSON = '{"version":"' + fabric.version + '","objects":[{"type":"path","version":"' + fabric.version + '","originX":"left","originY":"top","left":100,"top":100,"width":200,"height":200,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,' + '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"sourcePath":"http://example.com/"}]}'; - var RECT_JSON = '{"objects":[{"type":"rect","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":10,"fill":"rgb(0,0,0)",' + + var RECT_JSON = '{"version":"' + fabric.version + '","objects":[{"type":"rect","version":"' + fabric.version + '","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":10,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,' + '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0}],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}'; - var RECT_JSON_WITH_PADDING = '{"objects":[{"type":"rect","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":20,"fill":"rgb(0,0,0)",' + + var RECT_JSON_WITH_PADDING = '{"version":"' + fabric.version + '","objects":[{"type":"rect","version":"' + fabric.version + '","originX":"left","originY":"top","left":0,"top":0,"width":10,"height":20,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,' + '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0,"padding":123,"foo":"bar"}]}'; @@ -70,6 +70,7 @@ IMG_HEIGHT = 110; var REFERENCE_IMG_OBJECT = { + 'version': fabric.version, 'type': 'image', 'originX': 'left', 'originY': 'top', @@ -774,10 +775,10 @@ test('toJSON', function() { ok(typeof canvas.toJSON == 'function'); - equal(JSON.stringify(canvas.toJSON()), '{"objects":[]}'); + equal(JSON.stringify(canvas.toJSON()), '{"version":"' + fabric.version + '","objects":[]}'); canvas.backgroundColor = '#ff5555'; canvas.overlayColor = 'rgba(0,0,0,0.2)'; - equal(JSON.stringify(canvas.toJSON()), '{"objects":[],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}', '`background` and `overlay` value should be reflected in json'); + equal(JSON.stringify(canvas.toJSON()), '{"version":"' + fabric.version + '","objects":[],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}', '`background` and `overlay` value should be reflected in json'); canvas.add(makeRect()); deepEqual(JSON.stringify(canvas.toJSON()), RECT_JSON); }); @@ -865,6 +866,7 @@ test('toObject', function() { ok(typeof canvas.toObject == 'function'); var expectedObject = { + version: fabric.version, objects: canvas.getObjects() }; deepEqual(expectedObject, canvas.toObject()); @@ -880,7 +882,7 @@ var rect = makeRect(); canvas.add(rect); var cObject = canvas.toObject(); - var expectedRect = { type: 'rect', width: 10, height: 10 }; + var expectedRect = { version: fabric.version, type: 'rect', width: 10, height: 10 }; deepEqual(cObject.objects[0], expectedRect, 'Rect should be exported withoud defaults'); canvas.includeDefaultValues = true; }); @@ -917,6 +919,7 @@ test('toDatalessObject', function() { ok(typeof canvas.toDatalessObject == 'function'); var expectedObject = { + 'version': fabric.version, objects: canvas.getObjects() }; deepEqual(expectedObject, canvas.toDatalessObject()); @@ -934,6 +937,7 @@ canvas.foobar = 123; var expectedObject = { + 'version': fabric.version, objects: canvas.getObjects(), freeDrawingColor: 'red', foobar: 123 @@ -1013,7 +1017,7 @@ }); asyncTest('loadFromJSON with json object without default values', function() { - ok(typeof canvas.loadFromJSON == 'function'); + ok(typeof canvas.loadFromJSON === 'function'); canvas.loadFromJSON(JSON.parse(PATH_WITHOUT_DEFAULTS_JSON), function(){ var obj = canvas.item(0); diff --git a/test/unit/circle.js b/test/unit/circle.js index ae6e0338c82..2ce61697e16 100644 --- a/test/unit/circle.js +++ b/test/unit/circle.js @@ -79,6 +79,7 @@ test('toObject', function() { var circle = new fabric.Circle(); var defaultProperties = { + 'version': fabric.version, 'type': 'circle', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/ellipse.js b/test/unit/ellipse.js index bdf3e451bf4..ed467a82599 100644 --- a/test/unit/ellipse.js +++ b/test/unit/ellipse.js @@ -22,6 +22,7 @@ test('toObject', function() { var ellipse = new fabric.Ellipse(); var defaultProperties = { + 'version': fabric.version, 'type': 'ellipse', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/group.js b/test/unit/group.js index a0709cbcfa2..bf44cd9e215 100644 --- a/test/unit/group.js +++ b/test/unit/group.js @@ -163,6 +163,7 @@ var clone = group.toObject(); var expectedObject = { + 'version': fabric.version, 'type': 'group', 'originX': 'left', 'originY': 'top', @@ -207,6 +208,7 @@ group.includeDefaultValues = false; var clone = group.toObject(); var objects = [{ + version: fabric.version, type: 'rect', left: 10, top: -30, @@ -214,6 +216,7 @@ height: 10, strokeWidth: 0 }, { + version: fabric.version, type: 'rect', left: -40, top: -10, @@ -222,6 +225,7 @@ strokeWidth: 0 }]; var expectedObject = { + 'version': fabric.version, 'type': 'group', 'left': 50, 'top': 100, diff --git a/test/unit/image.js b/test/unit/image.js index 11f0f9e8df7..989b7cfcb41 100644 --- a/test/unit/image.js +++ b/test/unit/image.js @@ -15,6 +15,7 @@ IMG_HEIGHT = 110; var REFERENCE_IMG_OBJECT = { + 'version': fabric.version, 'type': 'image', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/itext.js b/test/unit/itext.js index 16eb1c96108..02af5f0535c 100644 --- a/test/unit/itext.js +++ b/test/unit/itext.js @@ -8,6 +8,7 @@ }); var ITEXT_OBJECT = { + 'version': fabric.version, 'type': 'text', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/line.js b/test/unit/line.js index 606786b15b4..225ddab9069 100644 --- a/test/unit/line.js +++ b/test/unit/line.js @@ -1,6 +1,7 @@ (function(){ var LINE_OBJECT = { + 'version': fabric.version, 'type': 'line', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/object.js b/test/unit/object.js index 5493096a575..e589a0dfe39 100644 --- a/test/unit/object.js +++ b/test/unit/object.js @@ -147,13 +147,13 @@ }); test('toJSON', function() { - var emptyObjectJSON = '{"type":"object","originX":"left","originY":"top","left":0,"top":0,"width":0,"height":0,"fill":"rgb(0,0,0)",' + + var emptyObjectJSON = '{"type":"object","version":"2.0.0-beta6","originX":"left","originY":"top","left":0,"top":0,"width":0,"height":0,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,' + '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over",' + '"transformMatrix":null,"skewX":0,"skewY":0}'; - var augmentedJSON = '{"type":"object","originX":"left","originY":"top","left":0,"top":0,"width":122,"height":0,"fill":"rgb(0,0,0)",' + + var augmentedJSON = '{"type":"object","version":"2.0.0-beta6","originX":"left","originY":"top","left":0,"top":0,"width":122,"height":0,"fill":"rgb(0,0,0)",' + '"stroke":null,"strokeWidth":1,"strokeDashArray":[5,2],"strokeLineCap":"round","strokeLineJoin":"bevil","strokeMiterLimit":5,' + '"scaleX":1.3,"scaleY":1,"angle":0,"flipX":false,"flipY":true,"opacity":0.88,' + '"shadow":null,"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","globalCompositeOperation":"source-over",' + @@ -177,6 +177,7 @@ test('toObject', function() { var emptyObjectRepr = { + 'version': fabric.version, 'type': 'object', 'originX': 'left', 'originY': 'top', @@ -209,6 +210,7 @@ }; var augmentedObjectRepr = { + 'version': fabric.version, 'type': 'object', 'originX': 'left', 'originY': 'top', @@ -280,9 +282,10 @@ test('toObject without default values', function() { - var emptyObjectRepr = { type: 'object' }; + var emptyObjectRepr = { version: fabric.version, type: 'object' }; var augmentedObjectRepr = { + version: fabric.version, type: 'object', left: 10, top: 20, diff --git a/test/unit/path.js b/test/unit/path.js index a41f4f1485b..1a085e7d53a 100644 --- a/test/unit/path.js +++ b/test/unit/path.js @@ -1,6 +1,7 @@ (function() { var REFERENCE_PATH_OBJECT = { + 'version': fabric.version, 'type': 'path', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/polygon.js b/test/unit/polygon.js index 9cac72977f1..4ce530a1b59 100644 --- a/test/unit/polygon.js +++ b/test/unit/polygon.js @@ -8,6 +8,7 @@ } var REFERENCE_OBJECT = { + 'version': fabric.version, 'type': 'polygon', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/polyline.js b/test/unit/polyline.js index 722cf2257e2..9533e74a0bb 100644 --- a/test/unit/polyline.js +++ b/test/unit/polyline.js @@ -8,6 +8,7 @@ } var REFERENCE_OBJECT = { + 'version': fabric.version, 'type': 'polyline', 'originX': 'left', 'originY': 'top', diff --git a/test/unit/rect.js b/test/unit/rect.js index 1995ac5ecf0..79b54adb5b4 100644 --- a/test/unit/rect.js +++ b/test/unit/rect.js @@ -1,6 +1,7 @@ (function() { var REFERENCE_RECT = { + 'version': fabric.version, 'type': 'rect', 'originX': 'left', 'originY': 'top', @@ -190,7 +191,7 @@ }); test('toObject without default values', function() { - var options = { type: 'rect', width: 69, height: 50, left: 10, top: 20 }; + var options = { type: 'rect', width: 69, height: 50, left: 10, top: 20, version: fabric.version, }; var rect = new fabric.Rect(options); rect.includeDefaultValues = false; deepEqual(rect.toObject(), options); diff --git a/test/unit/text.js b/test/unit/text.js index d92c7fb5b89..3d2003385fc 100644 --- a/test/unit/text.js +++ b/test/unit/text.js @@ -13,6 +13,7 @@ var CHAR_WIDTH = 20; var REFERENCE_TEXT_OBJECT = { + 'version': fabric.version, 'type': 'text', 'originX': 'left', 'originY': 'top',