diff --git a/HEADER.js b/HEADER.js index 15315a10f2f..190f52db48d 100644 --- a/HEADER.js +++ b/HEADER.js @@ -17,9 +17,9 @@ else { { features: { FetchExternalResources: ['img'] } - }); - + }); fabric.window = fabric.document.defaultView; + DOMParser = require('xmldom').DOMParser; } /** diff --git a/build.js b/build.js index 9df0f25f02e..8f7a93be670 100644 --- a/build.js +++ b/build.js @@ -235,8 +235,6 @@ var filesToInclude = [ ifSpecifiedInclude('textbox', 'src/shapes/textbox.class.js'), ifSpecifiedInclude('textbox', 'src/mixins/textbox_behavior.mixin.js'), - ifSpecifiedInclude('node', 'src/node.js'), - ifSpecifiedAMDInclude(amdLib) ]; diff --git a/src/node.js b/src/node.js deleted file mode 100644 index aaf022172d1..00000000000 --- a/src/node.js +++ /dev/null @@ -1,211 +0,0 @@ -(function() { - - if (typeof document !== 'undefined' && typeof window !== 'undefined') { - return; - } - - var DOMParser = require('xmldom').DOMParser, - URL = require('url'), - HTTP = require('http'), - HTTPS = require('https'), - - Canvas = require(fabric.canvasModule), - Image = require(fabric.canvasModule).Image; - - /** @private */ - function request(url, encoding, callback) { - var oURL = URL.parse(url); - - // detect if http or https is used - if ( !oURL.port ) { - oURL.port = ( oURL.protocol.indexOf('https:') === 0 ) ? 443 : 80; - } - - // assign request handler based on protocol - var reqHandler = (oURL.protocol.indexOf('https:') === 0 ) ? HTTPS : HTTP, - req = reqHandler.request({ - hostname: oURL.hostname, - port: oURL.port, - path: oURL.path, - method: 'GET' - }, function(response) { - var body = ''; - if (encoding) { - response.setEncoding(encoding); - } - response.on('end', function () { - callback(body); - }); - response.on('data', function (chunk) { - if (response.statusCode === 200) { - body += chunk; - } - }); - }); - - req.on('error', function(err) { - if (err.errno === process.ECONNREFUSED) { - fabric.log('ECONNREFUSED: connection refused to ' + oURL.hostname + ':' + oURL.port); - } - else { - fabric.log(err.message); - } - callback(null); - }); - - req.end(); - } - - /** @private */ - function requestFs(path, callback) { - var fs = require('fs'); - fs.readFile(path, function (err, data) { - if (err) { - fabric.log(err); - throw err; - } - else { - callback(data); - } - }); - } - - fabric.util.loadImage = function(url, callback, context) { - function createImageAndCallBack(data) { - if (data) { - img.src = new Buffer(data, 'binary'); - // preserving original url, which seems to be lost in node-canvas - img._src = url; - callback && callback.call(context, img); - } - else { - img = null; - callback && callback.call(context, null, true); - } - } - var img = new Image(); - if (url && (url instanceof Buffer || url.indexOf('data') === 0)) { - img.src = img._src = url; - callback && callback.call(context, img); - } - else if (url && url.indexOf('http') !== 0) { - requestFs(url, createImageAndCallBack); - } - else if (url) { - request(url, 'binary', createImageAndCallBack); - } - else { - callback && callback.call(context, url); - } - }; - - fabric.loadSVGFromURL = function(url, callback, reviver) { - url = url.replace(/^\n\s*/, '').replace(/\?.*$/, '').trim(); - if (url.indexOf('http') !== 0) { - requestFs(url, function(body) { - fabric.loadSVGFromString(body.toString(), callback, reviver); - }); - } - else { - request(url, '', function(body) { - fabric.loadSVGFromString(body, callback, reviver); - }); - } - }; - - fabric.loadSVGFromString = function(string, callback, reviver) { - var doc = new DOMParser().parseFromString(string); - fabric.parseSVGDocument(doc.documentElement, function(results, options) { - callback && callback(results, options); - }, reviver); - }; - - fabric.util.getScript = function(url, callback) { - request(url, '', function(body) { - // eslint-disable-next-line no-eval - eval(body); - callback && callback(); - }); - }; - - // fabric.util.createCanvasElement = function(_, width, height) { - // return new Canvas(width, height); - // } - - /** - * Only available when running fabric on node.js - * @param {Number} width Canvas width - * @param {Number} height Canvas height - * @param {Object} [options] Options to pass to FabricCanvas. - * @param {Object} [nodeCanvasOptions] Options to pass to NodeCanvas. - * @return {Object} wrapped canvas instance - */ - fabric.createCanvasForNode = function(width, height, options, nodeCanvasOptions) { - nodeCanvasOptions = nodeCanvasOptions || options; - - var canvasEl = fabric.document.createElement('canvas'), - nodeCanvas = new Canvas(width || 600, height || 600, nodeCanvasOptions), - nodeCacheCanvas = new Canvas(width || 600, height || 600, nodeCanvasOptions); - - canvasEl.width = nodeCanvas.width; - canvasEl.height = nodeCanvas.height; - options = options || { }; - options.nodeCanvas = nodeCanvas; - options.nodeCacheCanvas = nodeCacheCanvas; - var FabricCanvas = fabric.Canvas || fabric.StaticCanvas, - fabricCanvas = new FabricCanvas(canvasEl, options); - fabricCanvas.nodeCanvas = nodeCanvas; - fabricCanvas.nodeCacheCanvas = nodeCacheCanvas; - fabricCanvas.contextContainer = nodeCanvas.getContext('2d'); - fabricCanvas.contextCache = nodeCacheCanvas.getContext('2d'); - fabricCanvas.Font = Canvas.Font; - return fabricCanvas; - }; - - var originaInitStatic = fabric.StaticCanvas.prototype._initStatic; - fabric.StaticCanvas.prototype._initStatic = function(el, options) { - el = el || fabric.document.createElement('canvas'); - this.nodeCanvas = new Canvas(el.width, el.height); - this.nodeCacheCanvas = new Canvas(el.width, el.height); - originaInitStatic.call(this, el, options); - this.contextContainer = this.nodeCanvas.getContext('2d'); - this.contextCache = this.nodeCacheCanvas.getContext('2d'); - this.Font = Canvas.Font; - }; - - /** @ignore */ - fabric.StaticCanvas.prototype.createPNGStream = function() { - return this.nodeCanvas.createPNGStream(); - }; - - fabric.StaticCanvas.prototype.createJPEGStream = function(opts) { - return this.nodeCanvas.createJPEGStream(opts); - }; - - fabric.StaticCanvas.prototype._initRetinaScaling = function() { - if (!this._isRetinaScaling()) { - return; - } - - this.lowerCanvasEl.setAttribute('width', this.width * fabric.devicePixelRatio); - this.lowerCanvasEl.setAttribute('height', this.height * fabric.devicePixelRatio); - this.nodeCanvas.width = this.width * fabric.devicePixelRatio; - this.nodeCanvas.height = this.height * fabric.devicePixelRatio; - this.contextContainer.scale(fabric.devicePixelRatio, fabric.devicePixelRatio); - return this; - }; - if (fabric.Canvas) { - fabric.Canvas.prototype._initRetinaScaling = fabric.StaticCanvas.prototype._initRetinaScaling; - } - - var origSetBackstoreDimension = fabric.StaticCanvas.prototype._setBackstoreDimension; - fabric.StaticCanvas.prototype._setBackstoreDimension = function(prop, value) { - origSetBackstoreDimension.call(this, prop, value); - this.nodeCanvas[prop] = value; - return this; - }; - if (fabric.Canvas) { - fabric.Canvas.prototype._setBackstoreDimension = fabric.StaticCanvas.prototype._setBackstoreDimension; - } - -})(); diff --git a/src/shapes/image.class.js b/src/shapes/image.class.js index 2982ada15ff..e68439ab701 100644 --- a/src/shapes/image.class.js +++ b/src/shapes/image.class.js @@ -324,7 +324,7 @@ if (element.toDataURL) { return element.toDataURL(); } - return fabric.isLikelyNode ? element._src : element.src; + return element.src; } else { return this.src || ''; diff --git a/test/unit/activeselection.js b/test/unit/activeselection.js index 90d1df3fabe..b8ca45a1e38 100644 --- a/test/unit/activeselection.js +++ b/test/unit/activeselection.js @@ -1,9 +1,6 @@ (function() { - var el = fabric.document.createElement('canvas'); - el.width = 600; el.height = 600; - - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode(600, 600, {enableRetinaScaling: false}) : new fabric.Canvas(el, {enableRetinaScaling: false}); + var canvas = this.canvas = new fabric.Canvas(null, {enableRetinaScaling: false, width: 600, height: 600}); function makeAsWith2Objects() { var rect1 = new fabric.Rect({ top: 100, left: 100, width: 30, height: 10, strokeWidth: 0 }), diff --git a/test/unit/canvas.js b/test/unit/canvas.js index cc1e65784fa..64f1e87bd93 100644 --- a/test/unit/canvas.js +++ b/test/unit/canvas.js @@ -65,7 +65,7 @@ '"visible":true,"clipTo":null,"backgroundColor":"","fillRule":"nonzero","paintFirst":"fill","globalCompositeOperation":"source-over","transformMatrix":null,"skewX":0,"skewY":0,"rx":0,"ry":0}],"background":"#ff5555","overlay":"rgba(0,0,0,0.2)"}'; function _createImageElement() { - return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); + return fabric.document.createElement('img'); } function getAbsolutePath(path) { @@ -80,10 +80,7 @@ var IMG_SRC = fabric.isLikelyNode ? (__dirname + '/../fixtures/test_image.gif') : getAbsolutePath('../fixtures/test_image.gif'); - var el = fabric.document.createElement('canvas'); - el.width = 600; el.height = 600; - - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el); + var canvas = this.canvas = new fabric.Canvas(null, {enableRetinaScaling: false, width: 600, height: 600}); var upperCanvasEl = canvas.upperCanvasEl; var lowerCanvasEl = canvas.lowerCanvasEl; @@ -1684,7 +1681,7 @@ assert.equal(parentEl.firstChild, el, 'canvas should be appended at partentEl'); assert.equal(parentEl.childNodes.length, 1, 'parentEl has 1 child only'); - var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el); + var canvas = new fabric.Canvas(el, {enableRetinaScaling: false }); wrapperEl = canvas.wrapperEl; lowerCanvasEl = canvas.lowerCanvasEl; upperCanvasEl = canvas.upperCanvasEl; @@ -2135,8 +2132,7 @@ }); QUnit.test('avoid multiple bindings', function(assert) { - var el2 = fabric.document.createElement('canvas'); - var c = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); var eventsArray = [ c._onMouseDown, c._onMouseMove, @@ -2153,8 +2149,8 @@ c._onContextMenu ]; // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(); + c.initialize(); var eventsArray2 = [ c._onMouseDown, c._onMouseMove, @@ -2174,16 +2170,15 @@ }); QUnit.test('avoid multiple registration - mousedown', function(assert) { - var el2 = fabric.document.createElement('canvas'); var originalMouseDown = fabric.Canvas.prototype._onMouseDown; var counter = 0; fabric.Canvas.prototype._onMouseDown = function() { counter++; }; - var c = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); var event = fabric.document.createEvent('MouseEvent'); event.initEvent('mousedown', true, true); c.upperCanvasEl.dispatchEvent(event); @@ -2192,16 +2187,15 @@ }); QUnit.test('avoid multiple registration - mousemove', function(assert) { - var el2 = fabric.document.createElement('canvas'); var originalMouseMove = fabric.Canvas.prototype._onMouseMove; var counter = 0; fabric.Canvas.prototype._onMouseMove = function() { counter++; }; - var c = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); var event = fabric.document.createEvent('MouseEvent'); event.initEvent('mousemove', true, true); c.upperCanvasEl.dispatchEvent(event); @@ -2211,16 +2205,15 @@ QUnit.test('avoid multiple registration - mouseup', function(assert) { var done = assert.async(); - var el2 = fabric.document.createElement('canvas'); var originalMouseUp = fabric.Canvas.prototype._onMouseUp; var counter = 0; fabric.Canvas.prototype._onMouseUp = function() { counter++; }; - var c = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); // a mouse down is necessary to register mouse up. var _event = fabric.document.createEvent('MouseEvent'); @@ -2237,16 +2230,15 @@ }); QUnit.test('avoid multiple registration - mouseout', function(assert) { - var el2 = fabric.document.createElement('canvas'); var originalMouseOut = fabric.Canvas.prototype._onMouseOut; var counter = 0; fabric.Canvas.prototype._onMouseOut = function() { counter++; }; - var c = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); var event = fabric.document.createEvent('MouseEvent'); event.initEvent('mouseout', true, true); c.upperCanvasEl.dispatchEvent(event); @@ -2255,16 +2247,15 @@ }); QUnit.test('avoid multiple registration - mouseenter', function(assert) { - var el2 = fabric.document.createElement('canvas'); var originalMouseEnter = fabric.Canvas.prototype._onMouseEnter; var counter = 0; fabric.Canvas.prototype._onMouseEnter = function() { counter++; }; - var c = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); var event = fabric.document.createEvent('MouseEvent'); event.initEvent('mouseenter', true, true); c.upperCanvasEl.dispatchEvent(event); @@ -2273,16 +2264,15 @@ }); QUnit.test('avoid multiple events on window', function(assert) { - var el2 = fabric.document.createElement('canvas'); var originalResize = fabric.Canvas.prototype._onResize; var counter = 0; fabric.Canvas.prototype._onResize = function() { counter++; }; - var c = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.Canvas(el2); + var c = new fabric.Canvas(); // initialize canvas more than once - c.initialize(el2); - c.initialize(el2); + c.initialize(c.lowerCanvasEl); + c.initialize(c.lowerCanvasEl); var event = fabric.document.createEvent('UIEvents'); event.initUIEvent('resize', true, false, fabric.window, 0); fabric.window.dispatchEvent(event); diff --git a/test/unit/canvas_static.js b/test/unit/canvas_static.js index be433e4ac7f..8ad411ea61d 100644 --- a/test/unit/canvas_static.js +++ b/test/unit/canvas_static.js @@ -109,7 +109,7 @@ }; function _createImageElement() { - return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); + return fabric.document.createElement('img'); } function _createImageObject(width, height, callback) { @@ -126,18 +126,8 @@ } function setSrc(img, src, callback) { - if (fabric.isLikelyNode) { - require('fs').readFile(src, function(err, imgData) { - if (err) { throw err; }; - img.src = imgData; - img._src = src; - callback && callback(); - }); - } - else { - img.src = src; - callback && callback(); - } + img.onload = callback; + img.src = src; } function fixImageDimension(imgObj) { @@ -152,15 +142,9 @@ // force creation of static canvas // TODO: fix this - var Canvas = fabric.Canvas; - fabric.Canvas = null; - var el = fabric.document.createElement('canvas'); - el.width = 600; - el.height = 600; - - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el), - canvas2 = this.canvas2 = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el); - fabric.Canvas = Canvas; + var canvas = this.canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false, width: 600, height: 600}); + var canvas2 = this.canvas2 = new fabric.StaticCanvas(null, {enableRetinaScaling: false, width: 600, height: 600}); + var lowerCanvasEl = canvas.lowerCanvasEl; diff --git a/test/unit/gradient.js b/test/unit/gradient.js index 3788e0f3d60..2af46b9b40e 100644 --- a/test/unit/gradient.js +++ b/test/unit/gradient.js @@ -175,8 +175,7 @@ }); QUnit.test('toLive linearGradient', function(assert) { - var el = fabric.document.createElement('canvas'); - var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el); + var canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false}); var gradient = createLinearGradient(); assert.ok(typeof gradient.toLive === 'function'); var gradientCtx = gradient.toLive(canvas.contextContainer); @@ -184,8 +183,7 @@ }); QUnit.test('toLive radialGradient', function(assert) { - var el = fabric.document.createElement('canvas'); - var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el); + var canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false }); var gradient = createRadialGradient(); assert.ok(typeof gradient.toLive === 'function'); var gradientCtx = gradient.toLive(canvas.contextContainer); diff --git a/test/unit/group.js b/test/unit/group.js index c86bf458b03..165208c950b 100644 --- a/test/unit/group.js +++ b/test/unit/group.js @@ -1,13 +1,5 @@ (function() { - - var el = fabric.document.createElement('canvas'); - el.width = 600; el.height = 600; - - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode(600, 600, {enableRetinaScaling: false}) : new fabric.Canvas(el, {enableRetinaScaling: false}); - - // function _createImageElement() { - // return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); - // } + var canvas = this.canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false, width: 600, height: 600}); function makeGroupWith2Objects() { var rect1 = new fabric.Rect({ top: 100, left: 100, width: 30, height: 10, strokeWidth: 0 }), diff --git a/test/unit/image.js b/test/unit/image.js index ebc945f0494..ed0e994d50e 100644 --- a/test/unit/image.js +++ b/test/unit/image.js @@ -71,24 +71,15 @@ }; function _createImageElement() { - return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); + return fabric.document.createElement('img'); } function _createImageObject(width, height, callback, options) { var elImage = _createImageElement(); setSrc(elImage, IMG_SRC, function() { - if (width != elImage.width || height != elImage.height) { - if (fabric.isLikelyNode) { - var Canvas = require(fabric.canvasModule); - var canvas = new Canvas(width, height); - canvas.getContext('2d').drawImage(elImage, 0, 0, width, height); - elImage._src = canvas.toDataURL(); - elImage.src = elImage._src; - } - else { - elImage.width = width; - elImage.height = height; - } + if (width !== elImage.width || height !== elImage.height) { + elImage.width = width; + elImage.height = height; callback(new fabric.Image(elImage, options)); } else { @@ -106,20 +97,10 @@ } function setSrc(img, src, callback) { - if (fabric.isLikelyNode) { - require('fs').readFile(src, function(err, imgData) { - if (err) { throw err; }; - img.src = imgData; - img._src = src; - callback && callback(); - }); - } - else { - img.onload = function() { - callback && callback(); - }; - img.src = src; - } + img.onload = function() { + callback && callback(); + }; + img.src = src; } QUnit.module('fabric.Image'); diff --git a/test/unit/image_filters.js b/test/unit/image_filters.js index cff6263325a..d270da023e3 100644 --- a/test/unit/image_filters.js +++ b/test/unit/image_filters.js @@ -51,9 +51,6 @@ // 'filters': [] // }; - // function _createImageElement() { - // return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); - // } function _createImageData(context) { var imageData = context.createImageData(3, 1); diff --git a/test/unit/object.js b/test/unit/object.js index 7968d57699e..d974f8650e2 100644 --- a/test/unit/object.js +++ b/test/unit/object.js @@ -1,6 +1,6 @@ (function(){ - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(); + var canvas = this.canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false}); function getAbsolutePath(path) { var isAbsolute = /^https?:/.test(path); @@ -19,7 +19,7 @@ IMG_HEIGHT = 110; function _createImageElement() { - return fabric.isLikelyNode ? new (require(fabric.canvasModule).Image)() : fabric.document.createElement('img'); + return fabric.document.createElement('img'); } function createImageObject(callback) { @@ -1182,9 +1182,7 @@ }); QUnit.test('_setShadow', function(assert) { - var el = fabric.document.createElement('canvas'); - el.width = 600; el.height = 600; - var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el); + var canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false, width: 600, height: 600}); var context = canvas.contextContainer; var object = new fabric.Object({ scaleX: 1, scaleY: 1}); var group = new fabric.Group(); diff --git a/test/unit/object_geometry.js b/test/unit/object_geometry.js index de4af769aed..4d17a116d09 100644 --- a/test/unit/object_geometry.js +++ b/test/unit/object_geometry.js @@ -1,5 +1,5 @@ (function() { - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(); + var canvas = this.canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false}); QUnit.module('fabric.ObjectGeometry'); QUnit.test('intersectsWithRectangle', function(assert) { diff --git a/test/unit/pattern.js b/test/unit/pattern.js index 21639ec7a5b..57a67911db8 100644 --- a/test/unit/pattern.js +++ b/test/unit/pattern.js @@ -42,7 +42,7 @@ var done = assert.async(); function callback(pattern) { if (fabric.isLikelyNode) { - assert.equal(pattern.source._src, IMG_SRC, 'pattern source has been loaded'); + assert.equal(pattern.source.src, IMG_SRC, 'pattern source has been loaded'); } else { assert.equal(pattern.source.complete, true, 'pattern source has been loaded'); @@ -96,8 +96,7 @@ QUnit.test('toLive', function(assert) { var pattern = createPattern(); - var el = fabric.document.createElement('canvas'); - var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el); + var canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false}); assert.ok(typeof pattern.toLive === 'function'); var created = pattern.toLive(canvas.contextContainer); assert.equal(created.toString(), '[object CanvasPattern]', 'is a gradient for canvas radial'); diff --git a/test/unit/util.js b/test/unit/util.js index 8bd96e2a489..f24b41fce1b 100644 --- a/test/unit/util.js +++ b/test/unit/util.js @@ -3,9 +3,7 @@ QUnit.module('fabric.util'); function _createImageElement() { - return fabric.isLikelyNode - ? new (require(fabric.canvasModule).Image)() - : fabric.document.createElement('img'); + return fabric.document.createElement('img'); } function getAbsolutePath(path) { @@ -606,10 +604,8 @@ QUnit.test('fabric.util.drawDashedLine', function(assert) { assert.ok(typeof fabric.util.drawDashedLine === 'function'); - var el = fabric.document.createElement('canvas'); - var canvas = fabric.isLikelyNode - ? fabric.createCanvasForNode() - : new fabric.Canvas(el); + var canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false}); + var ctx = canvas.getContext('2d'); @@ -885,7 +881,7 @@ QUnit.test('drawArc', function(assert) { assert.ok(typeof fabric.util.drawArc === 'function'); - var canvas = this.canvas = fabric.isLikelyNode ? fabric.createCanvasForNode(600, 600, {enableRetinaScaling: false}) : new fabric.Canvas(null, {enableRetinaScaling: false}); + var canvas = this.canvas = new fabric.StaticCanvas(null, {enableRetinaScaling: false, width: 600, height: 600}); var ctx = canvas.contextContainer; fabric.util.drawArc(ctx, 0, 0, [ 50,