diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 00000000..54713204
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,149 @@
+{
+ "env": {
+ "browser": true
+ },
+ "globals": {
+ "ActiveXObject": true,
+ "define": true,
+ "eventjs": true,
+ "exports": true,
+ "fabric": true,
+ "G_vmlCanvasManager": true,
+ "require": true,
+ "Buffer": true,
+ "process": true
+ },
+ "rules": {
+ "eqeqeq": 2,
+ "no-eq-null": 2,
+ "no-eval": 2,
+ "no-unused-expressions": [
+ 2,
+ {
+ "allowShortCircuit": true
+ }
+ ],
+ "guard-for-in": 0,
+ "wrap-iife": [
+ 2,
+ "inside"
+ ],
+ "linebreak-style": [
+ 2,
+ "unix"
+ ],
+ "no-loop-func": 2,
+ "no-multi-str": 2,
+ "no-caller": 2,
+ "no-empty": [
+ 2,
+ {
+ "allowEmptyCatch": true
+ }
+ ],
+ "no-new": 0,
+ "no-plusplus": 0,
+ "strict": 0,
+ "dot-notation": 2,
+ "no-undef": 2,
+ "no-unused-vars": 2,
+ "max-depth": [
+ 2,
+ 4
+ ],
+ "max-statements": [
+ 2,
+ 45
+ ],
+ "curly": [
+ 2,
+ "all"
+ ],
+ "keyword-spacing": [
+ 2,
+ {}
+ ],
+ "space-infix-ops": 2,
+ "array-bracket-spacing": [
+ 2,
+ "never"
+ ],
+ "comma-style": [
+ 2,
+ "last"
+ ],
+ "camelcase": [
+ 2,
+ {
+ "properties": "never"
+ }
+ ],
+ "brace-style": [
+ 2,
+ "stroustrup",
+ {
+ "allowSingleLine": true
+ }
+ ],
+ "eol-last": 2,
+ "one-var": [
+ 0,
+ "always"
+ ],
+ "quote-props": [
+ 2,
+ "as-needed",
+ {
+ "keywords": true
+ }
+ ],
+ "key-spacing": [
+ 2,
+ {
+ "beforeColon": false,
+ "afterColon": true,
+ "mode": "minimum"
+ }
+ ],
+ "space-unary-ops": [
+ 2,
+ {
+ "words": true,
+ "nonwords": false
+ }
+ ],
+ "no-with": 2,
+ "no-multiple-empty-lines": 2,
+ "no-mixed-spaces-and-tabs": 2,
+ "no-trailing-spaces": 2,
+ "quotes": [
+ 2,
+ "single"
+ ],
+ "indent": [
+ 2,
+ 2,
+ {
+ "SwitchCase": 1,
+ "VariableDeclarator": 2
+ }
+ ],
+ "consistent-this": [
+ 2,
+ "_this"
+ ],
+ "valid-jsdoc": [
+ 0,
+ {
+ "requireReturn": false
+ }
+ ],
+ "max-len": [
+ 2,
+ 120,
+ {
+ "ignoreComments": true
+ }
+ ]
+ }
+}
diff --git a/.eslintrc_tests b/.eslintrc_tests
new file mode 100644
index 00000000..d8b3ae35
--- /dev/null
+++ b/.eslintrc_tests
@@ -0,0 +1,45 @@
+{
+ "env": {
+ "browser": true,
+ "node": true,
+ "qunit": true
+ },
+ "globals": {
+ "fabric": true,
+ "G_vmlCanvasManager": true
+ },
+ "rules": {
+ "eqeqeq": 0,
+ "no-eq-null": 2,
+ "no-eval": 2,
+ "no-unused-expressions": 2,
+ "guard-for-in": 0,
+ "wrap-iife": [
+ 2,
+ "any"
+ ],
+ "quote-props": 0,
+ "linebreak-style": 2,
+ "no-loop-func": 2,
+ "no-multi-str": 0,
+ "new-cap": 2,
+ "no-caller": 2,
+ "no-empty": 0,
+ "no-new": 0,
+ "no-plusplus": 0,
+ "strict": 0,
+ "dot-notation": 0,
+ "no-undef": 2,
+ "no-unused-vars": 2,
+ "max-statements": 0,
+ "camelcase": 0,
+ "consistent-this": 0,
+ "max-len": [
+ 0,
+ 120,
+ {
+ "ignoreComments": true
+ }
+ ]
+ }
+}
diff --git a/.jscs.json b/.jscs.json
deleted file mode 100644
index 181ae7c2..00000000
--- a/.jscs.json
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "requireCurlyBraces": [ "if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
- "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
- "requireSpaceBeforeBinaryOperators": ["+", "-", "*", "=", "==", "===", "!=", "!=="],
- "requireSpaceAfterBinaryOperators": ["+", "-", "*", "=", "==", "===", "!=", "!==", ","],
-
- "requireParenthesesAroundIIFE": true,
- "requireSpacesInsideObjectBrackets": "all",
- "requireCommaBeforeLineBreak": true,
- "requireCamelCaseOrUpperCaseIdentifiers": true,
- "requireKeywordsOnNewLine": ["else"],
- "requireLineFeedAtFileEnd": true,
- "requireCapitalizedConstructors": true,
- "requireDotNotation": true,
- "requireMultipleVarDecl": true,
- "requireSpacesInFunction": {
- "beforeOpeningCurlyBrace": true
- },
-
- "disallowEmptyBlocks": true,
- "disallowQuotedKeysInObjects": "allButReserved",
- "disallowSpaceAfterObjectKeys": true,
-
- "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
- "disallowSpaceAfterPrefixUnaryOperators": ["++", "--"],
-
- "disallowKeywords": ["with"],
- "disallowMultipleLineStrings": true,
- "disallowMultipleLineBreaks": true,
- "disallowMixedSpacesAndTabs": true,
- "disallowTrailingWhitespace": true,
-
- "validateLineBreaks": "LF",
- "validateQuoteMarks": "'",
- "validateIndentation": 2,
-
- "safeContextKeyword": "_this",
-
- "jsDoc": {
- "checkParamNames": true,
- "requireParamTypes": true
- },
-
- "maximumLineLength": { "value": 120, "allowComments": true, "allowRegex": true }
-}
diff --git a/.jshintrc b/.jshintrc
deleted file mode 100644
index 38336104..00000000
--- a/.jshintrc
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- "globals": {
- "ActiveXObject": true,
- "define": true,
- "eventjs": true,
- "exports": true,
- "fabric": true,
- "G_vmlCanvasManager": true,
-
- // node.js
- "require": true,
- "Buffer": true,
- "process": true
- },
-
- "browser": true,
- "eqeqeq": true,
- "eqnull": true,
- "evil": true,
- "expr": true,
- "forin": false,
- "immed": true,
- "lastsemic": true,
- "laxbreak": true,
- "loopfunc": true,
- "multistr": true,
- "newcap": true,
- "noarg": true,
- // "node": true, // we're not using node to catch `console.log` statements
- "noempty": false,
- "nomen": false,
- "nonew": false,
- "onevar": false,
- "plusplus": false,
- "strict": false,
- "sub": true,
- "undef": true,
- "unused": true,
-
- "maxdepth": 4,
- "maxstatements": 45
-
- // "maxparams": 4,
- // "maxcomplexity": 7
-}
diff --git a/.jshintrc_tests b/.jshintrc_tests
deleted file mode 100644
index c4eca96e..00000000
--- a/.jshintrc_tests
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "globals": {
- "fabric": true,
- "G_vmlCanvasManager": true
- },
- "browser": true,
- // TODO: change to true
- "eqeqeq": false,
- "eqnull": true,
- "evil": true,
- "expr": true,
- "forin": false,
- "immed": true,
- "lastsemic": true,
- "laxbreak": true,
- "loopfunc": true,
- "multistr": true,
- "newcap": true,
- "noarg": true,
- "node": true,
- "noempty": false,
- "nomen": false,
- "nonew": false,
- "onevar": false,
- "plusplus": false,
- "strict": false,
- "sub": true,
- "undef": true,
- "unused": true,
- "qunit": true
-}
diff --git a/build.js b/build.js
index 984d8c6a..84fff030 100644
--- a/build.js
+++ b/build.js
@@ -12,8 +12,8 @@ buildArgs.forEach(function(arg) {
buildArgsAsObject[key] = value;
});
-var modulesToInclude = buildArgsAsObject.modules ? buildArgsAsObject.modules.split(',') : [ ];
-var modulesToExclude = buildArgsAsObject.exclude ? buildArgsAsObject.exclude.split(',') : [ ];
+var modulesToInclude = buildArgsAsObject.modules ? buildArgsAsObject.modules.split(',') : [];
+var modulesToExclude = buildArgsAsObject.exclude ? buildArgsAsObject.exclude.split(',') : [];
var distributionPath = buildArgsAsObject.dest || 'dist/';
var minifier = buildArgsAsObject.minifier || 'uglifyjs';
diff --git a/lib/aligning_guidelines.js b/lib/aligning_guidelines.js
index 078d9239..b78a4935 100644
--- a/lib/aligning_guidelines.js
+++ b/lib/aligning_guidelines.js
@@ -51,8 +51,8 @@ function initAligningGuidelines(canvas) {
return false;
}
- var verticalLines = [ ],
- horizontalLines = [ ];
+ var verticalLines = [],
+ horizontalLines = [];
canvas.on('mouse:down', function () {
viewportTransform = canvas.viewportTransform;
diff --git a/lib/centering_guidelines.js b/lib/centering_guidelines.js
index 0f689234..5c6f6c8e 100644
--- a/lib/centering_guidelines.js
+++ b/lib/centering_guidelines.js
@@ -44,7 +44,7 @@ function initCenteringGuidelines(canvas) {
ctx.restore();
}
- var afterRenderActions = [ ],
+ var afterRenderActions = [],
isInVerticalCenter,
isInHorizontalCenter;
diff --git a/lib/cufon.js b/lib/cufon.js
index f1be86a4..350dbc5c 100644
--- a/lib/cufon.js
+++ b/lib/cufon.js
@@ -672,7 +672,7 @@ Cufon.registerEngine('canvas', (function() {
var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
var shadows = options.textShadow, shadowOffsets = [];
- Cufon.textOptions.shadowOffsets = [ ];
+ Cufon.textOptions.shadowOffsets = [];
Cufon.textOptions.shadows = null;
if (shadows) {
@@ -693,7 +693,7 @@ Cufon.registerEngine('canvas', (function() {
var width = 0, lastWidth = null;
- var maxWidth = 0, lines = 1, lineWidths = [ ];
+ var maxWidth = 0, lines = 1, lineWidths = [];
for (var i = 0, l = chars.length; i < l; ++i) {
if (chars[i] === '\n') {
lines++;
@@ -712,7 +712,7 @@ Cufon.registerEngine('canvas', (function() {
width = Math.max(maxWidth, width);
- var lineOffsets = [ ];
+ var lineOffsets = [];
for (var i = lineWidths.length; i--; ) {
lineOffsets[i] = width - lineWidths[i];
}
diff --git a/package.json b/package.json
index 5c3d1e8b..e2ca924a 100644
--- a/package.json
+++ b/package.json
@@ -38,8 +38,8 @@
"build": "node build.js modules=ALL exclude=json,gestures",
"build_with_gestures": "node build.js modules=ALL exclude=json",
"test": "node test.js",
- "lint": "jshint src && jscs src",
- "lint_tests": "jshint test/unit --config .jshintrc_tests",
+ "lint": "eslint --config .eslintrc.json src",
+ "lint_tests": "eslint test/unit --config .eslintrc_tests",
"export_dist_to_site": "cp dist/fabric.js ../fabricjs.com/lib/fabric.js",
"export_tests_to_site": "cp test/unit/*.js ../fabricjs.com/test/unit",
"all": "npm run build && npm run test && npm run lint && npm run lint_tests && npm run export_dist_to_site && npm run export_tests_to_site"
@@ -51,8 +51,7 @@
},
"devDependencies": {
"uglify-js": "2.7.x",
- "jscs": "2.x.x",
- "jshint": "2.9.x",
+ "eslint": "2.x.x",
"qunit": "0.9.x",
"istanbul": "0.4.x"
},
diff --git a/src/brushes/base_brush.class.js b/src/brushes/base_brush.class.js
index 80a63926..de5aea30 100644
--- a/src/brushes/base_brush.class.js
+++ b/src/brushes/base_brush.class.js
@@ -10,14 +10,14 @@ fabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype
* @type String
* @default
*/
- color: 'rgb(0, 0, 0)',
+ color: 'rgb(0, 0, 0)',
/**
* Width of a brush
* @type Number
* @default
*/
- width: 1,
+ width: 1,
/**
* Shadow object representing shadow of this shape.
@@ -26,28 +26,28 @@ fabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype
* @type fabric.Shadow
* @default
*/
- shadow: null,
+ shadow: null,
/**
* Line endings style of a brush (one of "butt", "round", "square")
* @type String
* @default
*/
- strokeLineCap: 'round',
+ strokeLineCap: 'round',
/**
* Corner style of a brush (one of "bevil", "round", "miter")
* @type String
* @default
*/
- strokeLineJoin: 'round',
+ strokeLineJoin: 'round',
/**
* Stroke Dash Array.
* @type Array
* @default
*/
- strokeDashArray: null,
+ strokeDashArray: null,
/**
* Sets shadow of an object
diff --git a/src/brushes/circle_brush.class.js b/src/brushes/circle_brush.class.js
index 356440ab..26642d1a 100644
--- a/src/brushes/circle_brush.class.js
+++ b/src/brushes/circle_brush.class.js
@@ -18,7 +18,7 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
*/
initialize: function(canvas) {
this.canvas = canvas;
- this.points = [ ];
+ this.points = [];
},
/**
@@ -66,7 +66,7 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;
this.canvas.renderOnAddRemove = false;
- var circles = [ ];
+ var circles = [];
for (var i = 0, len = this.points.length; i < len; i++) {
var point = this.points[i],
diff --git a/src/brushes/pencil_brush.class.js b/src/brushes/pencil_brush.class.js
index 18d7bd6a..0905163a 100644
--- a/src/brushes/pencil_brush.class.js
+++ b/src/brushes/pencil_brush.class.js
@@ -14,7 +14,7 @@
*/
initialize: function(canvas) {
this.canvas = canvas;
- this._points = [ ];
+ this._points = [];
},
/**
@@ -164,15 +164,15 @@
*/
createPath: function(pathData) {
var path = new fabric.Path(pathData, {
- fill: null,
- stroke: this.color,
- strokeWidth: this.width,
- strokeLineCap: this.strokeLineCap,
- strokeLineJoin: this.strokeLineJoin,
- strokeDashArray: this.strokeDashArray,
- originX: 'center',
- originY: 'center'
- });
+ fill: null,
+ stroke: this.color,
+ strokeWidth: this.width,
+ strokeLineCap: this.strokeLineCap,
+ strokeLineJoin: this.strokeLineJoin,
+ strokeDashArray: this.strokeDashArray,
+ originX: 'center',
+ originY: 'center'
+ });
if (this.shadow) {
this.shadow.affectStroke = true;
diff --git a/src/brushes/spray_brush.class.js b/src/brushes/spray_brush.class.js
index 2749f97b..5cff07ee 100644
--- a/src/brushes/spray_brush.class.js
+++ b/src/brushes/spray_brush.class.js
@@ -53,7 +53,7 @@ fabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric
*/
initialize: function(canvas) {
this.canvas = canvas;
- this.sprayChunks = [ ];
+ this.sprayChunks = [];
},
/**
@@ -85,7 +85,7 @@ fabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric
var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;
this.canvas.renderOnAddRemove = false;
- var rects = [ ];
+ var rects = [];
for (var i = 0, ilen = this.sprayChunks.length; i < ilen; i++) {
var sprayChunk = this.sprayChunks[i];
@@ -138,7 +138,7 @@ fabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric
uniqueRects[key] = rects[i];
}
}
- var uniqueRectsArray = [ ];
+ var uniqueRectsArray = [];
for (key in uniqueRects) {
uniqueRectsArray.push(uniqueRects[key]);
}
@@ -171,7 +171,7 @@ fabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric
* @param {Object} pointer
*/
addSprayChunk: function(pointer) {
- this.sprayChunkPoints = [ ];
+ this.sprayChunkPoints = [];
var x, y, width, radius = this.width / 2;
diff --git a/src/canvas.class.js b/src/canvas.class.js
index 457ff8a7..33bec8a8 100644
--- a/src/canvas.class.js
+++ b/src/canvas.class.js
@@ -137,7 +137,7 @@
* If not empty the selection border is dashed
* @type Array
*/
- selectionDashArray: [ ],
+ selectionDashArray: [],
/**
* Color of the border of selection (usually slightly darker than color of selection itself)
@@ -227,7 +227,8 @@
isDrawingMode: false,
/**
- * Indicates whether objects should remain in current stack position when selected. When false objects are brought to top and rendered as part of the selection group
+ * Indicates whether objects should remain in current stack position when selected.
+ * When false objects are brought to top and rendered as part of the selection group
* @type Boolean
* @default
*/
@@ -258,7 +259,7 @@
_chooseObjectsToRender: function() {
var activeGroup = this.getActiveGroup(),
activeObject = this.getActiveObject(),
- object, objsToRender = [ ], activeGroupObjects = [ ];
+ object, objsToRender = [], activeGroupObjects = [];
if ((activeGroup || activeObject) && !this.preserveObjectStacking) {
for (var i = 0, length = this._objects.length; i < length; i++) {
@@ -667,8 +668,7 @@
actualMouseByOrigin, constraintPosition, dim = target._getTransformedDimensions();
this._changeSkewTransformOrigin(actualMouseByCenter - lastMouseByCenter, t, by);
- actualMouseByOrigin = target.toLocalPoint(new fabric.Point(x, y), t.originX, t.originY)[by],
-
+ actualMouseByOrigin = target.toLocalPoint(new fabric.Point(x, y), t.originX, t.originY)[by];
constraintPosition = target.translateToOriginPoint(center, t.originX, t.originY);
// Actually skew the object
skewed = this._setObjectSkew(actualMouseByOrigin, t, by, dim);
@@ -970,8 +970,8 @@
// selection border
if (this.selectionDashArray.length > 1) {
- var px = groupSelector.ex + STROKE_OFFSET - ((left > 0) ? 0: aleft),
- py = groupSelector.ey + STROKE_OFFSET - ((top > 0) ? 0: atop);
+ var px = groupSelector.ex + STROKE_OFFSET - ((left > 0) ? 0 : aleft),
+ py = groupSelector.ey + STROKE_OFFSET - ((top > 0) ? 0 : atop);
ctx.beginPath();
@@ -1019,7 +1019,7 @@
return activeObject;
}
- this.targets = [ ];
+ this.targets = [];
var target = this._searchPossibleTargets(this._objects, pointer);
this._fireOverOutEvents(target, e);
diff --git a/src/color.class.js b/src/color.class.js
index 05cff656..697cc07f 100644
--- a/src/color.class.js
+++ b/src/color.class.js
@@ -74,7 +74,7 @@
* @return {Array} Hsl color
*/
_rgbToHsl: function(r, g, b) {
- r /= 255, g /= 255, b /= 255;
+ r /= 255; g /= 255; b /= 255;
var h, s, l,
max = fabric.util.array.max([r, g, b]),
@@ -265,6 +265,7 @@
* @field
* @memberOf fabric.Color
*/
+ // eslint-disable-next-line max-len
fabric.Color.reRGBa = /^rgba?\(\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*,\s*(\d{1,3}(?:\.\d+)?\%?)\s*(?:\s*,\s*(\d+(?:\.\d+)?)\s*)?\)$/;
/**
@@ -325,14 +326,14 @@
if (t > 1) {
t -= 1;
}
- if (t < 1/6) {
+ if (t < 1 / 6) {
return p + (q - p) * 6 * t;
}
- if (t < 1/2) {
+ if (t < 1 / 2) {
return q;
}
- if (t < 2/3) {
- return p + (q - p) * (2/3 - t) * 6;
+ if (t < 2 / 3) {
+ return p + (q - p) * (2 / 3 - t) * 6;
}
return p;
}
@@ -415,9 +416,9 @@
var q = l <= 0.5 ? l * (s + 1) : l + s - l * s,
p = l * 2 - q;
- r = hue2rgb(p, q, h + 1/3);
+ r = hue2rgb(p, q, h + 1 / 3);
g = hue2rgb(p, q, h);
- b = hue2rgb(p, q, h - 1/3);
+ b = hue2rgb(p, q, h - 1 / 3);
}
return [
diff --git a/src/elements_parser.js b/src/elements_parser.js
index ad3336a2..30aa7eed 100644
--- a/src/elements_parser.js
+++ b/src/elements_parser.js
@@ -16,9 +16,9 @@ fabric.ElementsParser.prototype.parse = function() {
fabric.ElementsParser.prototype.createObjects = function() {
for (var i = 0, len = this.elements.length; i < len; i++) {
this.elements[i].setAttribute('svgUid', this.svgUid);
- (function(_this, i) {
+ (function(_obj, i) {
setTimeout(function() {
- _this.createObject(_this.elements[i], i);
+ _obj.createObject(_obj.elements[i], i);
}, 0);
})(this, i);
}
@@ -80,6 +80,7 @@ fabric.ElementsParser.prototype.resolveGradient = function(obj, property) {
fabric.ElementsParser.prototype.checkIfDone = function() {
if (--this.numElements === 0) {
this.instances = this.instances.filter(function(el) {
+ // eslint-disable-next-line no-eq-null, eqeqeq
return el != null;
});
this.callback(this.instances);
diff --git a/src/filters/blend_filter.class.js b/src/filters/blend_filter.class.js
index e6c78417..3351621d 100644
--- a/src/filters/blend_filter.class.js
+++ b/src/filters/blend_filter.class.js
@@ -1,7 +1,9 @@
(function(global) {
'use strict';
- var fabric = global.fabric;
+ var fabric = global.fabric,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Color Blend filter class
@@ -23,7 +25,8 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Blend = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */{
+
+ filters.Blend = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */ {
type: 'Blend',
initialize: function(options) {
diff --git a/src/filters/brightness_filter.class.js b/src/filters/brightness_filter.class.js
index e10cac13..e08dc114 100644
--- a/src/filters/brightness_filter.class.js
+++ b/src/filters/brightness_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Brightness filter class
@@ -19,7 +21,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Brightness = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {
+ filters.Brightness = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {
/**
* Filter type
diff --git a/src/filters/colormatrix_filter.class.js b/src/filters/colormatrix_filter.class.js
index 38048f41..4314d1db 100644
--- a/src/filters/colormatrix_filter.class.js
+++ b/src/filters/colormatrix_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Color Matrix filter class
@@ -26,7 +28,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.ColorMatrix = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {
+ filters.ColorMatrix = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {
/**
* Filter type
@@ -44,11 +46,11 @@
initialize: function( options ) {
options || ( options = {} );
this.matrix = options.matrix || [
- 1, 0, 0, 0, 0,
- 0, 1, 0, 0, 0,
- 0, 0, 1, 0, 0,
- 0, 0, 0, 1, 0
- ];
+ 1, 0, 0, 0, 0,
+ 0, 1, 0, 0, 0,
+ 0, 0, 1, 0, 0,
+ 0, 0, 0, 1, 0
+ ];
},
/**
@@ -57,15 +59,15 @@
*/
applyTo: function( canvasEl ) {
var context = canvasEl.getContext( '2d' ),
- imageData = context.getImageData( 0, 0, canvasEl.width, canvasEl.height ),
- data = imageData.data,
- iLen = data.length,
- i,
- r,
- g,
- b,
- a,
- m = this.matrix;
+ imageData = context.getImageData( 0, 0, canvasEl.width, canvasEl.height ),
+ data = imageData.data,
+ iLen = data.length,
+ i,
+ r,
+ g,
+ b,
+ a,
+ m = this.matrix;
for ( i = 0; i < iLen; i += 4 ) {
r = data[ i ];
diff --git a/src/filters/convolute_filter.class.js b/src/filters/convolute_filter.class.js
index 70a96091..20e280fa 100644
--- a/src/filters/convolute_filter.class.js
+++ b/src/filters/convolute_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Adapted from html5rocks article
@@ -46,7 +48,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Convolute = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {
+ filters.Convolute = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {
/**
* Filter type
@@ -84,7 +86,7 @@
pixels = context.getImageData(0, 0, canvasEl.width, canvasEl.height),
side = Math.round(Math.sqrt(weights.length)),
- halfSide = Math.floor(side/2),
+ halfSide = Math.floor(side / 2),
src = pixels.data,
sw = pixels.width,
sh = pixels.height,
@@ -107,7 +109,7 @@
scy = y + cy - halfSide;
scx = x + cx - halfSide;
- /* jshint maxdepth:5 */
+ // eslint-disable-next-line max-depth
if (scy < 0 || scy > sh || scx < 0 || scx > sw) {
continue;
}
diff --git a/src/filters/gradienttransparency_filter.class.js b/src/filters/gradienttransparency_filter.class.js
index d85bfeb1..26af98b1 100644
--- a/src/filters/gradienttransparency_filter.class.js
+++ b/src/filters/gradienttransparency_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* GradientTransparency filter class
@@ -19,7 +21,8 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.GradientTransparency = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.GradientTransparency.prototype */ {
+ // eslint-disable-next-line max-len
+ filters.GradientTransparency = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.GradientTransparency.prototype */ {
/**
* Filter type
diff --git a/src/filters/grayscale_filter.class.js b/src/filters/grayscale_filter.class.js
index 0524305a..ee550b35 100644
--- a/src/filters/grayscale_filter.class.js
+++ b/src/filters/grayscale_filter.class.js
@@ -2,7 +2,9 @@
'use strict';
- var fabric = global.fabric || (global.fabric = { });
+ var fabric = global.fabric || (global.fabric = { }),
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Grayscale image filter class
@@ -15,7 +17,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Grayscale = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {
+ filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {
/**
* Filter type
diff --git a/src/filters/invert_filter.class.js b/src/filters/invert_filter.class.js
index f798e958..c074d8cd 100644
--- a/src/filters/invert_filter.class.js
+++ b/src/filters/invert_filter.class.js
@@ -2,7 +2,9 @@
'use strict';
- var fabric = global.fabric || (global.fabric = { });
+ var fabric = global.fabric || (global.fabric = { }),
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Invert filter class
@@ -15,7 +17,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Invert = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {
+ filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {
/**
* Filter type
@@ -35,7 +37,7 @@
data = imageData.data,
iLen = data.length, i;
- for (i = 0; i < iLen; i+=4) {
+ for (i = 0; i < iLen; i += 4) {
data[i] = 255 - data[i];
data[i + 1] = 255 - data[i + 1];
data[i + 2] = 255 - data[i + 2];
diff --git a/src/filters/mask_filter.class.js b/src/filters/mask_filter.class.js
index 7fa161a4..beae52fc 100644
--- a/src/filters/mask_filter.class.js
+++ b/src/filters/mask_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Mask filter class
@@ -13,7 +15,7 @@
* @extends fabric.Image.filters.BaseFilter
* @see {@link fabric.Image.filters.Mask#initialize} for constructor definition
*/
- fabric.Image.filters.Mask = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Mask.prototype */ {
+ filters.Mask = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Mask.prototype */ {
/**
* Filter type
@@ -33,7 +35,7 @@
options = options || { };
this.mask = options.mask;
- this.channel = [ 0, 1, 2, 3 ].indexOf(options.channel) > -1 ? options.channel : 0;
+ this.channel = [0, 1, 2, 3].indexOf(options.channel) > -1 ? options.channel : 0;
},
/**
diff --git a/src/filters/multiply_filter.class.js b/src/filters/multiply_filter.class.js
index 8a9bcf95..ad3e26ec 100644
--- a/src/filters/multiply_filter.class.js
+++ b/src/filters/multiply_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Multiply filter class
@@ -24,7 +26,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Multiply = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Multiply.prototype */ {
+ filters.Multiply = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Multiply.prototype */ {
/**
* Filter type
@@ -58,7 +60,7 @@
source = new fabric.Color(this.color).getSource();
- for (i = 0; i < iLen; i+=4) {
+ for (i = 0; i < iLen; i += 4) {
data[i] *= source[0] / 255;
data[i + 1] *= source[1] / 255;
data[i + 2] *= source[2] / 255;
diff --git a/src/filters/noise_filter.class.js b/src/filters/noise_filter.class.js
index c3267e93..562679c9 100644
--- a/src/filters/noise_filter.class.js
+++ b/src/filters/noise_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Noise filter class
@@ -19,7 +21,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Noise = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {
+ filters.Noise = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {
/**
* Filter type
diff --git a/src/filters/pixelate_filter.class.js b/src/filters/pixelate_filter.class.js
index 76188448..d553c75c 100644
--- a/src/filters/pixelate_filter.class.js
+++ b/src/filters/pixelate_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Pixelate filter class
@@ -19,7 +21,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Pixelate = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {
+ filters.Pixelate = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {
/**
* Filter type
diff --git a/src/filters/removewhite_filter.class.js b/src/filters/removewhite_filter.class.js
index bb7a8db5..f06b7011 100644
--- a/src/filters/removewhite_filter.class.js
+++ b/src/filters/removewhite_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Remove white filter class
@@ -20,7 +22,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.RemoveWhite = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.RemoveWhite.prototype */ {
+ filters.RemoveWhite = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.RemoveWhite.prototype */ {
/**
* Filter type
diff --git a/src/filters/resize_filter.class.js b/src/filters/resize_filter.class.js
index c271455c..1129f2ec 100644
--- a/src/filters/resize_filter.class.js
+++ b/src/filters/resize_filter.class.js
@@ -4,7 +4,9 @@
var fabric = global.fabric || (global.fabric = { }), pow = Math.pow, floor = Math.floor,
sqrt = Math.sqrt, abs = Math.abs, max = Math.max, round = Math.round, sin = Math.sin,
- ceil = Math.ceil;
+ ceil = Math.ceil,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Resize image filter class
@@ -17,7 +19,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Resize = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {
+ filters.Resize = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {
/**
* Filter type
@@ -181,7 +183,7 @@
for (v = 0; v < dH; v++) {
center.y = (v + 0.5) * ratioY;
icenter.y = floor(center.y);
- a = 0, red = 0, green = 0, blue = 0, alpha = 0;
+ a = 0; red = 0; green = 0; blue = 0; alpha = 0;
for (i = icenter.x - range2X; i <= icenter.x + range2X; i++) {
if (i < 0 || i >= oW) {
continue;
@@ -302,7 +304,7 @@
for (var xx = floor(i * ratioW); xx < (i + 1) * ratioW; xx++) {
var dx = abs(centerX - (xx + 0.5)) / ratioWHalf,
w = sqrt(w0 + dx * dx);
- /*jshint maxdepth:5 */
+ /* eslint-disable max-depth */
if (w > 1 && w < -1) {
continue;
}
@@ -314,17 +316,15 @@
gxA += weight * data[dx + 3];
weightsAlpha += weight;
//colors
- /*jshint maxdepth:6 */
if (data[dx + 3] < 255) {
weight = weight * data[dx + 3] / 250;
}
- /*jshint maxdepth:5 */
gxR += weight * data[dx];
gxG += weight * data[dx + 1];
gxB += weight * data[dx + 2];
weights += weight;
}
- /*jshint maxdepth:4 */
+ /* eslint-enable max-depth */
}
}
data2[x2] = gxR / weights;
diff --git a/src/filters/sepia2_filter.class.js b/src/filters/sepia2_filter.class.js
index 2fe970cd..4f4bdcd9 100644
--- a/src/filters/sepia2_filter.class.js
+++ b/src/filters/sepia2_filter.class.js
@@ -2,7 +2,9 @@
'use strict';
- var fabric = global.fabric || (global.fabric = { });
+ var fabric = global.fabric || (global.fabric = { }),
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Sepia2 filter class
@@ -15,7 +17,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Sepia2 = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Sepia2.prototype */ {
+ filters.Sepia2 = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Sepia2.prototype */ {
/**
* Filter type
@@ -35,7 +37,7 @@
data = imageData.data,
iLen = data.length, i, r, g, b;
- for (i = 0; i < iLen; i+=4) {
+ for (i = 0; i < iLen; i += 4) {
r = data[i];
g = data[i + 1];
b = data[i + 2];
diff --git a/src/filters/sepia_filter.class.js b/src/filters/sepia_filter.class.js
index 5918f952..cc4f04de 100644
--- a/src/filters/sepia_filter.class.js
+++ b/src/filters/sepia_filter.class.js
@@ -2,7 +2,9 @@
'use strict';
- var fabric = global.fabric || (global.fabric = { });
+ var fabric = global.fabric || (global.fabric = { }),
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Sepia filter class
@@ -15,7 +17,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Sepia = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Sepia.prototype */ {
+ filters.Sepia = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Sepia.prototype */ {
/**
* Filter type
@@ -35,7 +37,7 @@
data = imageData.data,
iLen = data.length, i, avg;
- for (i = 0; i < iLen; i+=4) {
+ for (i = 0; i < iLen; i += 4) {
avg = 0.3 * data[i] + 0.59 * data[i + 1] + 0.11 * data[i + 2];
data[i] = avg + 100;
data[i + 1] = avg + 50;
diff --git a/src/filters/tint_filter.class.js b/src/filters/tint_filter.class.js
index b0f92ff8..66e498c4 100644
--- a/src/filters/tint_filter.class.js
+++ b/src/filters/tint_filter.class.js
@@ -3,7 +3,9 @@
'use strict';
var fabric = global.fabric || (global.fabric = { }),
- extend = fabric.util.object.extend;
+ extend = fabric.util.object.extend,
+ filters = fabric.Image.filters,
+ createClass = fabric.util.createClass;
/**
* Tint filter class
@@ -27,7 +29,7 @@
* object.filters.push(filter);
* object.applyFilters(canvas.renderAll.bind(canvas));
*/
- fabric.Image.filters.Tint = fabric.util.createClass(fabric.Image.filters.BaseFilter, /** @lends fabric.Image.filters.Tint.prototype */ {
+ filters.Tint = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Tint.prototype */ {
/**
* Filter type
@@ -73,7 +75,7 @@
alpha1 = 1 - this.opacity;
- for (i = 0; i < iLen; i+=4) {
+ for (i = 0; i < iLen; i += 4) {
r = data[i];
g = data[i + 1];
b = data[i + 2];
diff --git a/src/gradient.class.js b/src/gradient.class.js
index e7619877..e250be64 100644
--- a/src/gradient.class.js
+++ b/src/gradient.class.js
@@ -191,41 +191,35 @@
}
if (this.type === 'linear') {
markup = [
- //jscs:disable validateIndentation
'\n'
- //jscs:enable validateIndentation
];
}
else if (this.type === 'radial') {
markup = [
- //jscs:disable validateIndentation
'\n'
- //jscs:enable validateIndentation
];
}
for (var i = 0; i < this.colorStops.length; i++) {
markup.push(
- //jscs:disable validateIndentation
'\n'
- //jscs:enable validateIndentation
);
}
@@ -421,7 +415,7 @@
gradientUnits === 'objectBoundingBox' &&
object.rx !== object.ry) {
- var scaleFactor = object.ry/object.rx;
+ var scaleFactor = object.ry / object.rx;
ellipseMatrix = ' scale(1, ' + scaleFactor + ')';
if (options.y1) {
options.y1 /= scaleFactor;
diff --git a/src/intersection.class.js b/src/intersection.class.js
index 10f230b0..653e996b 100644
--- a/src/intersection.class.js
+++ b/src/intersection.class.js
@@ -103,8 +103,8 @@
b1, b2, inter;
for (var i = 0; i < length; i++) {
- b1 = points[i],
- b2 = points[(i + 1) % length],
+ b1 = points[i];
+ b2 = points[(i + 1) % length];
inter = Intersection.intersectLineLine(a1, a2, b1, b2);
result.appendPoints(inter.points);
diff --git a/src/log.js b/src/log.js
index 694f73d7..4e57732f 100644
--- a/src/log.js
+++ b/src/log.js
@@ -10,7 +10,7 @@ fabric.log = function() { };
*/
fabric.warn = function() { };
-/* jshint ignore:start */
+/* eslint-disable */
if (typeof console !== 'undefined') {
['log', 'warn'].forEach(function(methodName) {
@@ -24,4 +24,4 @@ if (typeof console !== 'undefined') {
}
});
}
-/* jshint ignore:end */
+/* eslint-enable */
diff --git a/src/mixins/animation.mixin.js b/src/mixins/animation.mixin.js
index 861dbf52..a5e2d37f 100644
--- a/src/mixins/animation.mixin.js
+++ b/src/mixins/animation.mixin.js
@@ -138,7 +138,7 @@ fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prot
*/
animate: function() {
if (arguments[0] && typeof arguments[0] === 'object') {
- var propsToAnimate = [ ], prop, skipCallbacks;
+ var propsToAnimate = [], prop, skipCallbacks;
for (prop in arguments[0]) {
propsToAnimate.push(prop);
}
diff --git a/src/mixins/canvas_events.mixin.js b/src/mixins/canvas_events.mixin.js
index 0c554b55..575b5452 100644
--- a/src/mixins/canvas_events.mixin.js
+++ b/src/mixins/canvas_events.mixin.js
@@ -1,17 +1,17 @@
(function() {
var cursorOffset = {
- mt: 0, // n
- tr: 1, // ne
- mr: 2, // e
- br: 3, // se
- mb: 4, // s
- bl: 5, // sw
- ml: 6, // w
- tl: 7 // nw
- },
- addListener = fabric.util.addListener,
- removeListener = fabric.util.removeListener;
+ mt: 0, // n
+ tr: 1, // ne
+ mr: 2, // e
+ br: 3, // se
+ mb: 4, // s
+ bl: 5, // sw
+ ml: 6, // w
+ tl: 7 // nw
+ },
+ addListener = fabric.util.addListener,
+ removeListener = fabric.util.removeListener;
fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {
@@ -318,7 +318,7 @@
*/
_handleEvent: function(e, eventType, targetObj) {
var target = typeof targetObj === undefined ? this.findTarget(e) : targetObj,
- targets = this.targets || [ ],
+ targets = this.targets || [],
options = { e: e, target: target, subTargets: targets };
this.fire('mouse:' + eventType, options);
@@ -604,7 +604,7 @@
var pointer = this.getPointer(e),
transform = this._currentTransform;
- transform.reset = false,
+ transform.reset = false;
transform.target.isMoving = true;
this._beforeScaleTransform(e, transform);
diff --git a/src/mixins/canvas_gestures.mixin.js b/src/mixins/canvas_gestures.mixin.js
index 3df85e65..d48a02bd 100644
--- a/src/mixins/canvas_gestures.mixin.js
+++ b/src/mixins/canvas_gestures.mixin.js
@@ -10,7 +10,7 @@
(function() {
var degreesToRadians = fabric.util.degreesToRadians,
- radiansToDegrees = fabric.util.radiansToDegrees;
+ radiansToDegrees = fabric.util.radiansToDegrees;
fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {
/**
@@ -48,8 +48,8 @@
}
var self = this.__gesturesParams.self,
- t = this._currentTransform,
- e = this.__gesturesParams.e;
+ t = this._currentTransform,
+ e = this.__gesturesParams.e;
t.action = 'scale';
t.originX = t.originY = 'center';
@@ -123,9 +123,9 @@
*/
_scaleObjectBy: function(s, e) {
var t = this._currentTransform,
- target = t.target,
- lockScalingX = target.get('lockScalingX'),
- lockScalingY = target.get('lockScalingY');
+ target = t.target,
+ lockScalingX = target.get('lockScalingX'),
+ lockScalingY = target.get('lockScalingY');
if (lockScalingX && lockScalingY) {
return;
diff --git a/src/mixins/canvas_grouping.mixin.js b/src/mixins/canvas_grouping.mixin.js
index 4ba72add..4ce96eff 100644
--- a/src/mixins/canvas_grouping.mixin.js
+++ b/src/mixins/canvas_grouping.mixin.js
@@ -100,8 +100,8 @@
var objects = this.getObjects(),
isActiveLower = objects.indexOf(this._activeObject) < objects.indexOf(target),
groupObjects = isActiveLower
- ? [ this._activeObject, target ]
- : [ target, this._activeObject ];
+ ? [this._activeObject, target]
+ : [target, this._activeObject];
this._activeObject.isEditing && this._activeObject.exitEditing();
return new fabric.Group(groupObjects, {
canvas: this
@@ -136,7 +136,7 @@
* @private
*/
_collectObjects: function() {
- var group = [ ],
+ var group = [],
currentObject,
x1 = this._groupSelector.ex,
y1 = this._groupSelector.ey,
diff --git a/src/mixins/itext.svg_export.js b/src/mixins/itext.svg_export.js
index a1bd64ef..09209c09 100644
--- a/src/mixins/itext.svg_export.js
+++ b/src/mixins/itext.svg_export.js
@@ -69,14 +69,12 @@
*/
_createTextCharBg: function(styleDecl, lineLeftOffset, lineTopOffset, heightOfLine, charWidth, charOffset) {
return [
- //jscs:disable validateIndentation
'\t\t\n'
- //jscs:enable validateIndentation
].join('');
},
@@ -94,18 +92,16 @@
}, styleDecl));
return [
- //jscs:disable validateIndentation
'\t\t\t',
- fabric.util.string.escapeXml(_char),
+ toFixed(lineTopOffset - this.height / 2, NUM_FRACTION_DIGITS), '" ',
+ (styleDecl.fontFamily ? 'font-family="' + styleDecl.fontFamily.replace(/"/g, '\'') + '" ' : ''),
+ (styleDecl.fontSize ? 'font-size="' + styleDecl.fontSize + '" ' : ''),
+ (styleDecl.fontStyle ? 'font-style="' + styleDecl.fontStyle + '" ' : ''),
+ (styleDecl.fontWeight ? 'font-weight="' + styleDecl.fontWeight + '" ' : ''),
+ (styleDecl.textDecoration ? 'text-decoration="' + styleDecl.textDecoration + '" ' : ''),
+ 'style="', fillStyles, '">',
+ fabric.util.string.escapeXml(_char),
'\n'
- //jscs:enable validateIndentation
].join('');
}
});
diff --git a/src/mixins/object.svg_export.js b/src/mixins/object.svg_export.js
index bfea0eb0..ca723fb4 100644
--- a/src/mixins/object.svg_export.js
+++ b/src/mixins/object.svg_export.js
@@ -134,7 +134,7 @@
* @private
*/
_createBaseSVGMarkup: function() {
- var markup = [ ];
+ var markup = [];
if (this.fill && this.fill.toLive) {
markup.push(this.fill.toSVG(this, false));
diff --git a/src/mixins/object_geometry.mixin.js b/src/mixins/object_geometry.mixin.js
index 98bb19c2..fd78e6a5 100644
--- a/src/mixins/object_geometry.mixin.js
+++ b/src/mixins/object_geometry.mixin.js
@@ -130,8 +130,9 @@
* @param {fabric.Point} point Point to check
* @param {Object} oCoords Coordinates of the object being evaluated
*/
+ // remove yi, not used but left code here just in case.
_findCrossPoints: function(point, oCoords) {
- var b1, b2, a1, a2, xi, yi,
+ var b1, b2, a1, a2, xi, // yi,
xcount = 0,
iLine;
@@ -148,7 +149,7 @@
// optimisation 3: vertical line case
if ((iLine.o.x === iLine.d.x) && (iLine.o.x >= point.x)) {
xi = iLine.o.x;
- yi = point.y;
+ // yi = point.y;
}
// calculate the intersection point
else {
@@ -157,8 +158,8 @@
a1 = point.y - b1 * point.x;
a2 = iLine.o.y - b2 * iLine.o.x;
- xi = - (a1 - a2) / (b1 - b2);
- yi = a1 + b1 * xi;
+ xi = -(a1 - a2) / (b1 - b2);
+ // yi = a1 + b1 * xi;
}
// dont count xi < point.x cases
if (xi >= point.x) {
@@ -314,10 +315,10 @@
tr = new fabric.Point(tl.x + (currentWidth * cosTh), tl.y + (currentWidth * sinTh)),
bl = new fabric.Point(tl.x - (currentHeight * sinTh), tl.y + (currentHeight * cosTh)),
br = new fabric.Point(coords.x + offsetX, coords.y + offsetY),
- ml = new fabric.Point((tl.x + bl.x)/2, (tl.y + bl.y)/2),
- mt = new fabric.Point((tr.x + tl.x)/2, (tr.y + tl.y)/2),
- mr = new fabric.Point((br.x + tr.x)/2, (br.y + tr.y)/2),
- mb = new fabric.Point((br.x + bl.x)/2, (br.y + bl.y)/2),
+ ml = new fabric.Point((tl.x + bl.x) / 2, (tl.y + bl.y) / 2),
+ mt = new fabric.Point((tr.x + tl.x) / 2, (tr.y + tl.y) / 2),
+ mr = new fabric.Point((br.x + tr.x) / 2, (br.y + tr.y) / 2),
+ mb = new fabric.Point((br.x + bl.x) / 2, (br.y + bl.y) / 2),
mtr = new fabric.Point(mt.x + sinTh * this.rotatingPointOffset, mt.y - cosTh * this.rotatingPointOffset);
// debugging
diff --git a/src/mixins/object_interactivity.mixin.js b/src/mixins/object_interactivity.mixin.js
index a5321c2b..27988c63 100644
--- a/src/mixins/object_interactivity.mixin.js
+++ b/src/mixins/object_interactivity.mixin.js
@@ -1,10 +1,9 @@
(function() {
var degreesToRadians = fabric.util.degreesToRadians,
- //jscs:disable requireCamelCaseOrUpperCaseIdentifiers
+ /* eslint-disable camelcase */
isVML = function() { return typeof G_vmlCanvasManager !== 'undefined'; };
- //jscs:enable requireCamelCaseOrUpperCaseIdentifiers
-
+ /* eslint-enable camelcase */
fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {
/**
@@ -146,24 +145,24 @@
skewY = this.skewY;
}
var dimensions = this._getNonTransformedDimensions(),
- dimX = dimensions.x /2, dimY = dimensions.y / 2,
+ dimX = dimensions.x / 2, dimY = dimensions.y / 2,
points = [
- {
- x: -dimX,
- y: -dimY
- },
- {
- x: dimX,
- y: -dimY
- },
- {
- x: -dimX,
- y: dimY
- },
- {
- x: dimX,
- y: dimY
- }],
+ {
+ x: -dimX,
+ y: -dimY
+ },
+ {
+ x: dimX,
+ y: -dimY
+ },
+ {
+ x: -dimX,
+ y: dimY
+ },
+ {
+ x: dimX,
+ y: dimY
+ }],
i, transformMatrix = this._calcDimensionsTransformMatrix(skewX, skewY, false),
bbox;
for (i = 0; i < points.length; i++) {
@@ -205,7 +204,7 @@
ctx.scale(1 / vpt[0], 1 / vpt[3]);
ctx.rotate(degreesToRadians(this.angle));
ctx.fillStyle = this.selectionBackgroundColor;
- ctx.fillRect(-wh.x/2, -wh.y/2, wh.x, wh.y);
+ ctx.fillRect(-wh.x / 2, -wh.y / 2, wh.x, wh.y);
ctx.restore();
return this;
},
@@ -342,23 +341,23 @@
// middle-top
this._drawControl('mt', ctx, methodName,
- left + width/2,
+ left + width / 2,
top);
// middle-bottom
this._drawControl('mb', ctx, methodName,
- left + width/2,
+ left + width / 2,
top + height);
// middle-right
this._drawControl('mr', ctx, methodName,
left + width,
- top + height/2);
+ top + height / 2);
// middle-left
this._drawControl('ml', ctx, methodName,
left,
- top + height/2);
+ top + height / 2);
}
// middle-top-rotate
@@ -384,7 +383,7 @@
switch (this.cornerStyle) {
case 'circle':
ctx.beginPath();
- ctx.arc(left + size/2, top + size/2, size/2, 0, 2 * Math.PI, false);
+ ctx.arc(left + size / 2, top + size / 2, size / 2, 0, 2 * Math.PI, false);
ctx[methodName]();
if (stroke) {
ctx.stroke();
diff --git a/src/mixins/observable.mixin.js b/src/mixins/observable.mixin.js
index 050a0018..0c1aeeba 100644
--- a/src/mixins/observable.mixin.js
+++ b/src/mixins/observable.mixin.js
@@ -40,7 +40,7 @@
}
else {
if (!this.__eventListeners[eventName]) {
- this.__eventListeners[eventName] = [ ];
+ this.__eventListeners[eventName] = [];
}
this.__eventListeners[eventName].push(handler);
}
diff --git a/src/node.js b/src/node.js
index 61c76d0f..50c9fc7b 100644
--- a/src/node.js
+++ b/src/node.js
@@ -122,6 +122,7 @@
fabric.util.getScript = function(url, callback) {
request(url, '', function(body) {
+ // eslint-disable-next-line no-eval
eval(body);
callback && callback();
});
diff --git a/src/parser.js b/src/parser.js
index 6ccbad75..dff4b444 100644
--- a/src/parser.js
+++ b/src/parser.js
@@ -131,7 +131,7 @@
* @private
*/
function _getMultipleNodes(doc, nodeNames) {
- var nodeName, nodeArray = [ ], nodeList;
+ var nodeName, nodeArray = [], nodeList;
for (var i = 0; i < nodeNames.length; i++) {
nodeName = nodeNames[i];
nodeList = doc.getElementsByTagName(nodeName);
@@ -246,7 +246,7 @@
// start with identity matrix
var matrix = iMatrix.concat(),
- matrices = [ ];
+ matrices = [];
// return if no argument was given or
// an argument does not match transform attribute regexp
@@ -257,7 +257,8 @@
attributeValue.replace(reTransform, function(match) {
var m = new RegExp(transform).exec(match).filter(function (match) {
- return (match !== '' && match != null);
+ // match !== '' && match != null
+ return (!!match);
}),
operation = m[1],
args = m.slice(2).map(parseFloat);
@@ -437,7 +438,8 @@
attr = attrs.item(j);
el3.setAttribute(attr.nodeName, attr.nodeValue);
}
- while (el2.firstChild != null) {
+ // el2.firstChild != null
+ while (el2.firstChild) {
el3.appendChild(el2.firstChild);
}
el2 = el3;
@@ -516,9 +518,9 @@
return parsedDim;
}
- minX = -parseFloat(viewBoxAttr[1]),
- minY = -parseFloat(viewBoxAttr[2]),
- viewBoxWidth = parseFloat(viewBoxAttr[3]),
+ minX = -parseFloat(viewBoxAttr[1]);
+ minY = -parseFloat(viewBoxAttr[2]);
+ viewBoxWidth = parseFloat(viewBoxAttr[3]);
viewBoxHeight = parseFloat(viewBoxAttr[4]);
if (!missingDimAttr) {
@@ -556,7 +558,8 @@
if (element.nodeName === 'svg') {
el = element.ownerDocument.createElement('g');
- while (element.firstChild != null) {
+ // element.firstChild != null
+ while (element.firstChild) {
el.appendChild(element.firstChild);
}
element.appendChild(el);
@@ -576,7 +579,8 @@
* @function
* @memberOf fabric
* @param {SVGDocument} doc SVG document to parse
- * @param {Function} callback Callback to call when parsing is finished; It's being passed an array of elements (parsed from a document).
+ * @param {Function} callback Callback to call when parsing is finished;
+ * It's being passed an array of elements (parsed from a document).
* @param {Function} [reviver] Method for further parsing of SVG elements, called after each fabric object created.
*/
fabric.parseSVGDocument = (function() {
@@ -609,7 +613,7 @@
// we're likely in node, where "o3-xml" library fails to gEBTN("*")
// https://github.com/ajaxorg/node-o3-xml/issues/21
descendants = doc.selectNodes('//*[name(.)!="svg"]');
- var arr = [ ];
+ var arr = [];
for (var i = 0, len = descendants.length; i < len; i++) {
arr[i] = descendants[i];
}
@@ -888,11 +892,11 @@
points = points.replace(/,/g, ' ').trim();
points = points.split(/\s+/);
- var parsedPoints = [ ], i, len;
+ var parsedPoints = [], i, len;
i = 0;
len = points.length;
- for (; i < len; i+=2) {
+ for (; i < len; i += 2) {
parsedPoints.push({
x: parseFloat(points[i]),
y: parseFloat(points[i + 1])
@@ -934,8 +938,8 @@
rules.forEach(function(rule) {
var match = rule.match(/([\s\S]*?)\s*\{([^}]*)\}/),
- ruleObj = { }, declaration = match[2].trim(),
- propertyValuePairs = declaration.replace(/;$/, '').split(/\s*;\s*/);
+ ruleObj = { }, declaration = match[2].trim(),
+ propertyValuePairs = declaration.replace(/;$/, '').split(/\s*;\s*/);
for (var i = 0, len = propertyValuePairs.length; i < len; i++) {
var pair = propertyValuePairs[i].split(/\s*:\s*/),
@@ -962,7 +966,8 @@
},
/**
- * Takes url corresponding to an SVG document, and parses it into a set of fabric objects. Note that SVG is fetched via XMLHttpRequest, so it needs to conform to SOP (Same Origin Policy)
+ * Takes url corresponding to an SVG document, and parses it into a set of fabric objects.
+ * Note that SVG is fetched via XMLHttpRequest, so it needs to conform to SOP (Same Origin Policy)
* @memberOf fabric
* @param {String} url
* @param {Function} callback
@@ -1074,24 +1079,20 @@
for (var j in fontList) {
markup += [
- //jscs:disable validateIndentation
'\t\t@font-face {\n',
- '\t\t\tfont-family: \'', j, '\';\n',
- '\t\t\tsrc: url(\'', fontPaths[j], '\');\n',
+ '\t\t\tfont-family: \'', j, '\';\n',
+ '\t\t\tsrc: url(\'', fontPaths[j], '\');\n',
'\t\t}\n'
- //jscs:enable validateIndentation
].join('');
}
if (markup) {
markup = [
- //jscs:disable validateIndentation
'\t\n'
- //jscs:enable validateIndentation
].join('');
}
@@ -1104,7 +1105,7 @@
* @return {String}
*/
createSVGRefElementsMarkup: function(canvas) {
- var markup = [ ];
+ var markup = [];
_createSVGPattern(markup, canvas, 'backgroundColor');
_createSVGPattern(markup, canvas, 'overlayColor');
diff --git a/src/shadow.class.js b/src/shadow.class.js
index fd4b524a..3474be51 100644
--- a/src/shadow.class.js
+++ b/src/shadow.class.js
@@ -84,7 +84,7 @@
*/
_parseShadow: function(shadow) {
var shadowStr = shadow.trim(),
- offsetsAndBlur = fabric.Shadow.reOffsetsAndBlur.exec(shadowStr) || [ ],
+ offsetsAndBlur = fabric.Shadow.reOffsetsAndBlur.exec(shadowStr) || [],
color = shadowStr.replace(fabric.Shadow.reOffsetsAndBlur, '') || 'rgb(0,0,0)';
return {
@@ -178,6 +178,7 @@
* @field
* @memberOf fabric.Shadow
*/
+ // eslint-disable-next-line max-len
fabric.Shadow.reOffsetsAndBlur = /(?:\s|^)(-?\d+(?:px)?(?:\s?|$))?(-?\d+(?:px)?(?:\s?|$))?(\d+(?:px)?)?(?:\s?|$)(?:$|\s)/;
})(typeof exports !== 'undefined' ? exports : this);
diff --git a/src/shapes/circle.class.js b/src/shapes/circle.class.js
index d2b89f66..60e13e54 100644
--- a/src/shapes/circle.class.js
+++ b/src/shapes/circle.class.js
@@ -99,7 +99,7 @@
*/
toSVG: function(reviver) {
var markup = this._createBaseSVGMarkup(), x = 0, y = 0,
- angle = (this.endAngle - this.startAngle) % ( 2 * pi);
+ angle = (this.endAngle - this.startAngle) % ( 2 * pi);
if (angle === 0) {
if (this.group && this.group.type === 'path-group') {
@@ -126,7 +126,7 @@
markup.push(
'\n'
- //jscs:enable validateIndentation
);
return reviver ? reviver(markup.join('')) : markup.join('');
@@ -544,8 +542,8 @@
* @private
*/
_parsePath: function() {
- var result = [ ],
- coords = [ ],
+ var result = [],
+ coords = [],
currentPath,
parsed,
re = /([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/ig,
@@ -562,7 +560,7 @@
coords.push(match[0]);
}
- coordsParsed = [ currentPath.charAt(0) ];
+ coordsParsed = [currentPath.charAt(0)];
for (var j = 0, jlen = coords.length; j < jlen; j++) {
parsed = parseFloat(coords[j]);
@@ -577,7 +575,7 @@
if (coordsParsed.length - 1 > commandLength) {
for (var k = 1, klen = coordsParsed.length; k < klen; k += commandLength) {
- result.push([ command ].concat(coordsParsed.slice(k, k + commandLength)));
+ result.push([command].concat(coordsParsed.slice(k, k + commandLength)));
command = repeatedCommand;
}
}
@@ -617,33 +615,33 @@
case 'l': // lineto, relative
x += current[1];
y += current[2];
- bounds = [ ];
+ bounds = [];
break;
case 'L': // lineto, absolute
x = current[1];
y = current[2];
- bounds = [ ];
+ bounds = [];
break;
case 'h': // horizontal lineto, relative
x += current[1];
- bounds = [ ];
+ bounds = [];
break;
case 'H': // horizontal lineto, absolute
x = current[1];
- bounds = [ ];
+ bounds = [];
break;
case 'v': // vertical lineto, relative
y += current[1];
- bounds = [ ];
+ bounds = [];
break;
case 'V': // verical lineto, absolute
y = current[1];
- bounds = [ ];
+ bounds = [];
break;
case 'm': // moveTo, relative
@@ -651,7 +649,7 @@
y += current[2];
subpathStartX = x;
subpathStartY = y;
- bounds = [ ];
+ bounds = [];
break;
case 'M': // moveTo, absolute
@@ -659,7 +657,7 @@
y = current[2];
subpathStartX = x;
subpathStartY = y;
- bounds = [ ];
+ bounds = [];
break;
case 'c': // bezierCurveTo, relative
diff --git a/src/shapes/path_group.class.js b/src/shapes/path_group.class.js
index bccc8ee6..f52d1e06 100644
--- a/src/shapes/path_group.class.js
+++ b/src/shapes/path_group.class.js
@@ -44,7 +44,7 @@
initialize: function(paths, options) {
options = options || { };
- this.paths = paths || [ ];
+ this.paths = paths || [];
for (var i = this.paths.length; i--;) {
this.paths[i].group = this;
@@ -66,7 +66,7 @@
* Calculate width and height based on paths contained
*/
parseDimensionsFromPaths: function(options) {
- var points, p, xC = [ ], yC = [ ], path, height, width,
+ var points, p, xC = [], yC = [], path, height, width,
m;
for (var j = this.paths.length; j--;) {
path = this.paths[j];
@@ -111,7 +111,7 @@
this._setShadow(ctx);
this.clipTo && fabric.util.clipContext(this, ctx);
- ctx.translate(-this.width/2, -this.height/2);
+ ctx.translate(-this.width / 2, -this.height / 2);
for (var i = 0, l = this.paths.length; i < l; ++i) {
this.paths[i].render(ctx, true);
}
diff --git a/src/shapes/polygon.class.js b/src/shapes/polygon.class.js
index 90bd4f27..30662005 100644
--- a/src/shapes/polygon.class.js
+++ b/src/shapes/polygon.class.js
@@ -57,7 +57,7 @@
*/
initialize: function(points, options) {
options = options || { };
- this.points = points || [ ];
+ this.points = points || [];
this.callSuper('initialize', options);
this._calcDimensions();
if (!('top' in options)) {
@@ -85,8 +85,7 @@
this.width = (maxX - minX) || 0;
this.height = (maxY - minY) || 0;
-
- this.minX = minX || 0,
+ this.minX = minX || 0;
this.minY = minY || 0;
},
diff --git a/src/shapes/rect.class.js b/src/shapes/rect.class.js
index dc8f57f3..1e8272cc 100644
--- a/src/shapes/rect.class.js
+++ b/src/shapes/rect.class.js
@@ -102,8 +102,8 @@
x = noTransform ? this.left : -this.width / 2,
y = noTransform ? this.top : -this.height / 2,
isRounded = rx !== 0 || ry !== 0,
- k = 1 - 0.5522847498 /* "magic number" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */;
-
+ /* "magic number" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */
+ k = 1 - 0.5522847498;
ctx.beginPath();
ctx.moveTo(x + rx, y);
diff --git a/src/shapes/text.class.js b/src/shapes/text.class.js
index 938f6823..f552a84a 100644
--- a/src/shapes/text.class.js
+++ b/src/shapes/text.class.js
@@ -711,8 +711,8 @@
* @private
*/
_clearCache: function() {
- this.__lineWidths = [ ];
- this.__lineHeights = [ ];
+ this.__lineWidths = [];
+ this.__lineHeights = [];
},
/**
@@ -806,8 +806,8 @@
for (i = 0, len = _this._textLines.length; i < len; i++) {
- lineWidth = _this._getLineWidth(ctx, i),
- lineLeftOffset = _this._getLineLeftOffset(lineWidth),
+ lineWidth = _this._getLineWidth(ctx, i);
+ lineLeftOffset = _this._getLineLeftOffset(lineWidth);
heightOfLine = _this._getHeightOfLine(ctx, i);
for (j = 0, oLen = offsets.length; j < oLen; j++) {
@@ -957,11 +957,11 @@
style, '>\n',
textAndBg.textBgRects.join(''),
'\t\t\n',
textAndBg.textSpans.join(''),
'\t\t\n',
@@ -976,8 +976,8 @@
* @return {Object}
*/
_getSVGTextAndBg: function(textTopOffset, textLeftOffset) {
- var textSpans = [ ],
- textBgRects = [ ],
+ var textSpans = [],
+ textBgRects = [],
height = 0;
// bounding-box background
this._setSVGBg(textBgRects);
diff --git a/src/static_canvas.class.js b/src/static_canvas.class.js
index f8953cec..86f45681 100644
--- a/src/static_canvas.class.js
+++ b/src/static_canvas.class.js
@@ -1078,10 +1078,10 @@
*/
_toObjects: function(methodName, propertiesToInclude) {
return this.getObjects().filter(function(object) {
- return !object.excludeFromExport;
- }).map(function(instance) {
- return this._toObject(instance, methodName, propertiesToInclude);
- }, this);
+ return !object.excludeFromExport;
+ }).map(function(instance) {
+ return this._toObject(instance, methodName, propertiesToInclude);
+ }, this);
},
/**
diff --git a/src/util/anim_ease.js b/src/util/anim_ease.js
index 32b79b2c..7da9f69a 100644
--- a/src/util/anim_ease.js
+++ b/src/util/anim_ease.js
@@ -36,7 +36,7 @@
* @memberOf fabric.util.ease
*/
function easeInOutCubic(t, b, c, d) {
- t /= d/2;
+ t /= d / 2;
if (t < 1) {
return c / 2 * t * t * t + b;
}
@@ -302,10 +302,10 @@
if ((t /= d) < (1 / 2.75)) {
return c * (7.5625 * t * t) + b;
}
- else if (t < (2/2.75)) {
+ else if (t < (2 / 2.75)) {
return c * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75) + b;
}
- else if (t < (2.5/2.75)) {
+ else if (t < (2.5 / 2.75)) {
return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b;
}
else {
@@ -395,4 +395,4 @@
easeInOutBounce: easeInOutBounce
};
-}());
+})();
diff --git a/src/util/arc.js b/src/util/arc.js
index a9c6a7e8..708a9cc8 100644
--- a/src/util/arc.js
+++ b/src/util/arc.js
@@ -30,13 +30,13 @@
root = 0;
if (pl < 0) {
- var s = Math.sqrt(1 - pl/(rx2 * ry2));
+ var s = Math.sqrt(1 - pl / (rx2 * ry2));
rx *= s;
ry *= s;
}
else {
root = (large === sweep ? -1.0 : 1.0) *
- Math.sqrt( pl /(rx2 * py2 + ry2 * px2));
+ Math.sqrt( pl / (rx2 * py2 + ry2 * px2));
}
var cx = root * rx * py / ry,
@@ -82,8 +82,8 @@
sinth3 = Math.sin(th3),
toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1,
toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1,
- cp1X = fromX + mT * ( - cosTh * rx * sinth2 - sinTh * ry * costh2),
- cp1Y = fromY + mT * ( - sinTh * rx * sinth2 + cosTh * ry * costh2),
+ cp1X = fromX + mT * ( -cosTh * rx * sinth2 - sinTh * ry * costh2),
+ cp1Y = fromY + mT * ( -sinTh * rx * sinth2 + cosTh * ry * costh2),
cp2X = toX + mT * ( cosTh * rx * sinth3 + sinTh * ry * costh3),
cp2Y = toY + mT * ( sinTh * rx * sinth3 - cosTh * ry * costh3);
@@ -124,7 +124,7 @@
sweep = coords[4],
tx = coords[5],
ty = coords[6],
- segs = [[ ], [ ], [ ], [ ]],
+ segs = [[], [], [], []],
segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);
for (var i = 0, len = segsNorm.length; i < len; i++) {
@@ -152,9 +152,9 @@
*/
fabric.util.getBoundsOfArc = function(fx, fy, rx, ry, rot, large, sweep, tx, ty) {
- var fromX = 0, fromY = 0, bound = [ ], bounds = [ ],
- segs = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot),
- boundCopy = [[ ], [ ]];
+ var fromX = 0, fromY = 0, bound = [], bounds = [],
+ segs = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot),
+ boundCopy = [[], []];
for (var i = 0, len = segs.length; i < len; i++) {
bound = getBoundsOfCurve(fromX, fromY, segs[i][0], segs[i][1], segs[i][2], segs[i][3], segs[i][4], segs[i][5]);
@@ -190,8 +190,8 @@
var sqrt = Math.sqrt,
min = Math.min, max = Math.max,
- abs = Math.abs, tvalues = [ ],
- bounds = [[ ], [ ]],
+ abs = Math.abs, tvalues = [],
+ bounds = [[], []],
a, b, c, t, t1, t2, b2ac, sqrtb2ac;
b = 6 * x0 - 12 * x1 + 6 * x2;
diff --git a/src/util/dom_event.js b/src/util/dom_event.js
index a7642841..3f8639dd 100644
--- a/src/util/dom_event.js
+++ b/src/util/dom_event.js
@@ -98,7 +98,7 @@
listeners[uid] = { };
}
if (!listeners[uid][eventName]) {
- listeners[uid][eventName] = [ ];
+ listeners[uid][eventName] = [];
}
var listener = createListener(uid, handler);
@@ -127,7 +127,7 @@
handlers[uid] = { };
}
if (!handlers[uid][eventName]) {
- handlers[uid][eventName] = [ ];
+ handlers[uid][eventName] = [];
var existingHandler = element['on' + eventName];
if (existingHandler) {
handlers[uid][eventName].push(existingHandler);
@@ -193,12 +193,12 @@
// looks like in IE (<9) clientX at certain point (apparently when mouseup fires on VML element)
// is represented as COM object, with all the consequences, like "unknown" type and error on [[Get]]
// need to investigate later
- return (typeof event.clientX !== unknown ? event.clientX : 0);
- },
+ return (typeof event.clientX !== unknown ? event.clientX : 0);
+ },
- pointerY = function(event) {
- return (typeof event.clientY !== unknown ? event.clientY : 0);
- };
+ pointerY = function(event) {
+ return (typeof event.clientY !== unknown ? event.clientY : 0);
+ };
function _getPointer(event, pageProp, clientProp) {
var touchProp = event.type === 'touchend' ? 'changedTouches' : 'touches';
diff --git a/src/util/lang_array.js b/src/util/lang_array.js
index bebb5714..1f173f76 100644
--- a/src/util/lang_array.js
+++ b/src/util/lang_array.js
@@ -65,7 +65,7 @@
* @return {Array}
*/
Array.prototype.map = function(fn, context) {
- var result = [ ];
+ var result = [];
for (var i = 0, len = this.length >>> 0; i < len; i++) {
if (i in this) {
result[i] = fn.call(context, this[i], i, this);
@@ -117,7 +117,7 @@
* @return {Array}
*/
Array.prototype.filter = function(fn, context) {
- var result = [ ], val;
+ var result = [], val;
for (var i = 0, len = this.length >>> 0; i < len; i++) {
if (i in this) {
val = this[i]; // in case fn mutates this
@@ -176,7 +176,7 @@
* @return {Array}
*/
function invoke(array, method) {
- var args = slice.call(arguments, 2), result = [ ];
+ var args = slice.call(arguments, 2), result = [];
for (var i = 0, len = array.length; i < len; i++) {
result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);
}
diff --git a/src/util/lang_class.js b/src/util/lang_class.js
index 7a565302..9cf6be49 100644
--- a/src/util/lang_class.js
+++ b/src/util/lang_class.js
@@ -76,7 +76,7 @@
}
klass.superclass = parent;
- klass.subclasses = [ ];
+ klass.subclasses = [];
if (parent) {
Subclass.prototype = parent.prototype;
diff --git a/src/util/lang_string.js b/src/util/lang_string.js
index 708e9b25..4d368f4c 100644
--- a/src/util/lang_string.js
+++ b/src/util/lang_string.js
@@ -63,4 +63,4 @@
capitalize: capitalize,
escapeXml: escapeXml
};
-}());
+})();
diff --git a/src/util/misc.js b/src/util/misc.js
index 71d47a89..7b74fc69 100644
--- a/src/util/misc.js
+++ b/src/util/misc.js
@@ -241,10 +241,10 @@
}
var parts = namespace.split('.'),
- len = parts.length,
+ len = parts.length, i,
obj = global || fabric.window;
- for (var i = 0; i < len; ++i) {
+ for (i = 0; i < len; ++i) {
obj = obj[parts[i]];
}
@@ -302,7 +302,7 @@
* called after each fabric object created.
*/
enlivenObjects: function(objects, callback, namespace, reviver) {
- objects = objects || [ ];
+ objects = objects || [];
function onLoaded() {
if (++numLoadedObjects === numTotalObjects) {
@@ -310,7 +310,7 @@
}
}
- var enlivenedObjects = [ ],
+ var enlivenedObjects = [],
numLoadedObjects = 0,
numTotalObjects = objects.length;
@@ -431,11 +431,11 @@
*/
createCanvasElement: function(canvasEl) {
canvasEl || (canvasEl = fabric.document.createElement('canvas'));
- //jscs:disable requireCamelCaseOrUpperCaseIdentifiers
+ /* eslint-disable camelcase */
if (!canvasEl.getContext && typeof G_vmlCanvasManager !== 'undefined') {
G_vmlCanvasManager.initElement(canvasEl);
}
- //jscs:enable requireCamelCaseOrUpperCaseIdentifiers
+ /* eslint-enable camelcase */
return canvasEl;
},
@@ -458,14 +458,15 @@
* @param {Object} klass "Class" to create accessors for
*/
createAccessors: function(klass) {
- var proto = klass.prototype;
+ var proto = klass.prototype, i, propName,
+ capitalizedPropName, setterName, getterName;
- for (var i = proto.stateProperties.length; i--; ) {
+ for (i = proto.stateProperties.length; i--; ) {
- var propName = proto.stateProperties[i],
- capitalizedPropName = propName.charAt(0).toUpperCase() + propName.slice(1),
- setterName = 'set' + capitalizedPropName,
- getterName = 'get' + capitalizedPropName;
+ propName = proto.stateProperties[i];
+ capitalizedPropName = propName.charAt(0).toUpperCase() + propName.slice(1);
+ setterName = 'set' + capitalizedPropName;
+ getterName = 'get' + capitalizedPropName;
// using `new Function` for better introspection
if (!proto[getterName]) {
@@ -591,12 +592,13 @@
}
}
- var _isTransparent = true,
- imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1);
+ var _isTransparent = true, i, temp,
+ imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1),
+ l = imageData.data.length;
// Split image data - for tolerance > 1, pixelDataSize = 4;
- for (var i = 3, l = imageData.data.length; i < l; i += 4) {
- var temp = imageData.data[i];
+ for (i = 3; i < l; i += 4) {
+ temp = imageData.data[i];
_isTransparent = temp <= 0;
if (_isTransparent === false) {
break; // Stop if colour found
diff --git a/test/lib/qunit.js b/test/lib/qunit.js
index fc7c0e17..b9fc9b9c 100644
--- a/test/lib/qunit.js
+++ b/test/lib/qunit.js
@@ -1236,7 +1236,7 @@ QUnit.jsDump = (function() {
nodelist: array,
arguments: array,
object:function( map ) {
- var ret = [ ];
+ var ret = [];
QUnit.jsDump.up();
for ( var key in map )
ret.push( QUnit.jsDump.parse(key,'key') + ': ' + QUnit.jsDump.parse(map[key]) );
diff --git a/test/unit/canvas.js b/test/unit/canvas.js
index 9dcecca3..ce3cdd92 100644
--- a/test/unit/canvas.js
+++ b/test/unit/canvas.js
@@ -4,48 +4,48 @@
// 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,'+
- ' "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],'+
- ' ["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], '+
- '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, '+
- '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", '+
- '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],'+
- ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],'+
- ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],'+
- ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,'+
- ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",'+
- ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], '+
- '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, '+
+ var PATH_JSON = '{"objects": [{"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],' +
+ ' ["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], ' +
+ '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, ' +
+ '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", ' +
+ '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],' +
+ ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],' +
+ ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],' +
+ ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,' +
+ ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",' +
+ ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], ' +
+ '["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,'+
- ' "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],'+
- ' ["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], '+
- '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, '+
- '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", '+
- '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],'+
- ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],'+
- ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],'+
- ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,'+
- ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",'+
- ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], '+
- '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, '+
+ var PATH_OBJ_JSON = '{"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],' +
+ ' ["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], ' +
+ '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, ' +
+ '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", ' +
+ '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],' +
+ ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],' +
+ ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],' +
+ ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,' +
+ ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",' +
+ ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], ' +
+ '["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)",'+
- '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,'+
- '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,'+
+ var PATH_DATALESS_JSON = '{"objects":[{"type":"path","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,"path":"http://example.com/","pathOffset":{"x":200,"y":200}}],"background":""}';
- var RECT_JSON = '{"objects":[{"type":"rect","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,'+
+ var RECT_JSON = '{"objects":[{"type":"rect","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)"}';
function _createImageElement() {
@@ -54,7 +54,7 @@
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) { return path };
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -423,7 +423,7 @@
canvas.add(rect1);
canvas.add(rect2);
canvas.add(rect3);
- var group = new fabric.Group([ rect1, rect2 ]);
+ var group = new fabric.Group([rect1, rect2]);
canvas.setActiveGroup(group);
target = canvas.findTarget({
clientX: 5, clientY: 5
@@ -454,7 +454,7 @@
canvas.preserveObjectStacking = true;
canvas.add(rect1);
canvas.add(rect2);
- var group = new fabric.Group([ rect1, rect2 ]);
+ var group = new fabric.Group([rect1, rect2]);
canvas.setActiveGroup(group);
target = canvas.findTarget({
clientX: 8, clientY: 8
@@ -478,7 +478,7 @@
canvas.add(rect1, rect2, rect3, rect4);
- var group = new fabric.Group([ rect3, rect4 ]);
+ var group = new fabric.Group([rect3, rect4]);
canvas.setActiveGroup(group);
equal(canvas._objects[0], rect1, 'rect1 should be last');
equal(canvas._objects[1], rect2, 'rect2 should be second');
@@ -498,7 +498,7 @@
canvas.add(rect1, rect2, rect3, rect4);
- var group = new fabric.Group([ rect1, rect2 ]);
+ var group = new fabric.Group([rect1, rect2]);
canvas.setActiveGroup(group);
equal(canvas._objects[0], rect1, 'rect1 should be last');
equal(canvas._objects[1], rect2, 'rect2 should be second');
@@ -518,7 +518,7 @@
canvas.add(rect1, rect2, rect3, rect4);
- var group = new fabric.Group([ rect1, rect2 ]);
+ var group = new fabric.Group([rect1, rect2]);
canvas.setActiveGroup(group);
equal(canvas._objects[0], rect1, 'rect1 should be last');
equal(canvas._objects[1], rect2, 'rect2 should be second');
@@ -537,7 +537,7 @@
canvas.add(rect1, rect2, rect3, rect4);
- var group = new fabric.Group([ rect3, rect4 ]);
+ var group = new fabric.Group([rect3, rect4]);
canvas.setActiveGroup(group);
equal(canvas._objects[0], rect1, 'rect1 should be last');
equal(canvas._objects[1], rect2, 'rect2 should be second');
@@ -551,7 +551,7 @@
test('toDataURL', function() {
ok(typeof canvas.toDataURL == 'function');
if (!fabric.Canvas.supports('toDataURL')) {
- window.alert("toDataURL is not supported by this environment. Some of the tests can not be run.");
+ window.alert('toDataURL is not supported by this environment. Some of the tests can not be run.');
}
else {
var dataURL = canvas.toDataURL();
@@ -646,7 +646,7 @@
canvas.add(rect, circle);
var json = JSON.stringify(canvas);
- canvas.setActiveGroup(new fabric.Group([ rect, circle ])).renderAll();
+ canvas.setActiveGroup(new fabric.Group([rect, circle])).renderAll();
var jsonWithActiveGroup = JSON.stringify(canvas);
equal(json, jsonWithActiveGroup);
@@ -1245,7 +1245,7 @@
canvas.add(rect, circle);
var svg = canvas.toSVG();
- canvas.setActiveGroup(new fabric.Group([ rect, circle ])).renderAll();
+ canvas.setActiveGroup(new fabric.Group([rect, circle])).renderAll();
var svgWithActiveGroup = canvas.toSVG();
equal(svg, svgWithActiveGroup);
@@ -1261,7 +1261,7 @@
equal(canvas._objects[1], rect2);
equal(canvas._objects[2], circle1);
equal(canvas._objects[3], circle2);
- var aGroup = new fabric.Group([ rect2, circle2, rect1, circle1 ]);
+ var aGroup = new fabric.Group([rect2, circle2, rect1, circle1]);
// before rendering objects are ordered in insert order
equal(aGroup._objects[0], rect2);
equal(aGroup._objects[1], circle2);
@@ -1397,7 +1397,7 @@
});
});
- test('getSetWidth', function() {
+ test('getSetWidth', function() {
ok(typeof canvas.getWidth == 'function');
equal(canvas.getWidth(), 600);
equal(canvas.setWidth(444), canvas, 'should be chainable');
@@ -1518,7 +1518,7 @@
eventStub = {
clientX: canvasOffset.left + rect.left - 2,
- clientY: canvasOffset.top + rect.top + rect.height/2,
+ clientY: canvasOffset.top + rect.top + rect.height / 2,
target: rect,
shiftKey: true
};
@@ -1610,7 +1610,7 @@
// ok(/pug\.jpg$/.test(canvas.backgroundImage.src));
// deepEqual(canvas.toJSON(), {
- // "objects": [ ],
+ // "objects": [],
// "background": "rgba(0, 0, 0, 0)",
// "backgroundImage": (fabric.document.location.protocol +
// '//' +
@@ -1636,7 +1636,7 @@
try {
canvas.renderAll();
}
- catch(err) {
+ catch (err) {
error = err;
}
delete canvas.clipTo;
diff --git a/test/unit/canvas_static.js b/test/unit/canvas_static.js
index a2d25174..49a489ef 100644
--- a/test/unit/canvas_static.js
+++ b/test/unit/canvas_static.js
@@ -2,47 +2,47 @@
// var emptyImageCanvasData = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAH0CAYAAADL1t+KAAAH7ElEQVR4nO3VMQ0AMAzAsPInvYHoMS2yEeTLHADge/M6AADYM3QACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIMHQACDB0AAgwdAAIuMjH4b7osLFBAAAAAElFTkSuQmCC";
- var CANVAS_SVG = '\n\n'+
+ var CANVAS_SVG = '\n\n' +
'';
- var CANVAS_SVG_VIEWBOX = '\n\n'+
+ var CANVAS_SVG_VIEWBOX = '\n\n' +
'';
- var PATH_JSON = '{"objects": [{"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],'+
- ' ["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], '+
- '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, '+
- '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", '+
- '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],'+
- ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],'+
- ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],'+
- ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,'+
- ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",'+
- ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], '+
- '["c", 0.877, -9.979, 2.893, -12.905, 4.942, -15.621], ["C", 17.878, 21.775, 18.713, 17.397, 18.511, '+
+ var PATH_JSON = '{"objects": [{"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],' +
+ ' ["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], ' +
+ '["c", 1.299, 0, 2.514, 0.953, 2.936, 2.455], ["c", 0.522, 1.864, -0.372, 3.854, -1.999, ' +
+ '4.453], ["c", -0.229, 0.084, -0.464, 0.127, -0.692, 0.152], ["l", -0.379, 2.37], ["c", ' +
+ '1.146, 0.625, 2.024, 1.569, 2.674, 2.758], ["c", 3.213, 2.514, 8.561, 4.184, 11.774, -8.232],' +
+ ' ["c", 0, 0, 0.86, 16.059, -12.424, 14.533], ["c", 0.008, 2.859, 0.615, 5.364, -0.076, 8.224],' +
+ ' ["c", 8.679, 3.146, 15.376, 14.389, 17.897, 18.168], ["l", 2.497, -2.151], ["l", 1.206, 1.839],' +
+ ' ["l", -3.889, 3.458], ["C", 46.286, 48.503, 31.036, 32.225, 22.72, 35.81], ["c", -1.307, 2.851,' +
+ ' -3.56, 6.891, -7.481, 8.848], ["c", -4.689, 2.336, -9.084, -0.802, -11.277, -2.868], ["l",' +
+ ' -1.948, 3.104], ["l", -1.628, -1.333], ["l", 3.138, -4.689], ["c", 0.025, 0, 9, 1.932, 9, 1.932], ' +
+ '["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)",'+
- '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,'+
- '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,'+
+ var PATH_DATALESS_JSON = '{"objects":[{"type":"path","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,"path":"http://example.com/","pathOffset":{"x":200,"y":200}}],"background":""}';
- var RECT_JSON = '{"objects":[{"type":"rect","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,'+
+ var RECT_JSON = '{"objects":[{"type":"rect","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)",'+
- '"stroke":null,"strokeWidth":1,"strokeDashArray":null,"strokeLineCap":"butt","strokeLineJoin":"miter","strokeMiterLimit":10,'+
- '"scaleX":1,"scaleY":1,"angle":0,"flipX":false,"flipY":false,"opacity":1,'+
+ 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)",' +
+ '"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,"padding":123,"foo":"bar","rx":0,"ry":0}],"background":""}';
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) { return path };
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -113,7 +113,7 @@
function setSrc(img, src, callback) {
if (fabric.isLikelyNode) {
require('fs').readFile(src, function(err, imgData) {
- if (err) throw err;
+ if (err) { throw err };
img.src = imgData;
img._src = src;
callback && callback();
@@ -436,10 +436,10 @@
test('toDataURL', function() {
ok(typeof canvas.toDataURL == 'function');
if (!fabric.Canvas.supports('toDataURL')) {
- window.alert("toDataURL is not supported by this environment. Some of the tests can not be run.");
+ window.alert('toDataURL is not supported by this environment. Some of the tests can not be run.');
}
else {
- var rect = new fabric.Rect({width: 100, height: 100, fill:'red', top: 0, left: 0});
+ var rect = new fabric.Rect({width: 100, height: 100, fill: 'red', top: 0, left: 0});
canvas.add(rect);
var dataURL = canvas.toDataURL();
// don't compare actual data url, as it is often browser-dependent
@@ -453,7 +453,7 @@
test('toDataURL jpg', function() {
if (!fabric.Canvas.supports('toDataURL')) {
- window.alert("toDataURL is not supported by this environment. Some of the tests can not be run.");
+ window.alert('toDataURL is not supported by this environment. Some of the tests can not be run.');
}
else {
try {
@@ -461,7 +461,7 @@
equal(dataURL.substring(0, 22), 'data:image/jpeg;base64');
}
// node-canvas does not support jpeg data urls
- catch(err) {
+ catch (err) {
ok(true);
}
}
@@ -929,7 +929,7 @@
test('loadFromJSON custom properties', function() {
var rect = new fabric.Rect({ width: 10, height: 20 });
rect.padding = 123;
- rect.foo = "bar";
+ rect.foo = 'bar';
canvas.add(rect);
diff --git a/test/unit/circle.js b/test/unit/circle.js
index 5ed483be..fd63bedf 100644
--- a/test/unit/circle.js
+++ b/test/unit/circle.js
@@ -176,7 +176,7 @@
try {
fabric.Circle.fromElement(elFaultyCircle);
}
- catch(err) {
+ catch (err) {
error = err;
}
ok(error, 'negative attribute should throw');
@@ -187,7 +187,7 @@
try {
fabric.Circle.fromElement(elFaultyCircle);
}
- catch(err) {
+ catch (err) {
error = err;
}
diff --git a/test/unit/gradient.js b/test/unit/gradient.js
index 6acdb2e4..81880051 100644
--- a/test/unit/gradient.js
+++ b/test/unit/gradient.js
@@ -414,7 +414,7 @@
equal(gradient.colorStops[0].color, 'rgb(0,0,0)');
equal(gradient.colorStops[1].color, 'rgb(255,255,255)');
- deepEqual(gradient.gradientTransform, [ 3.321, -0.6998, 0.4077, 1.9347, -440.9168, -408.0598 ]);
+ deepEqual(gradient.gradientTransform, [3.321, -0.6998, 0.4077, 1.9347, -440.9168, -408.0598]);
});
test('fromElement linearGradient colorStop attributes/styles', function() {
diff --git a/test/unit/group.js b/test/unit/group.js
index d05a2236..a9266709 100644
--- a/test/unit/group.js
+++ b/test/unit/group.js
@@ -13,14 +13,14 @@
var rect1 = new fabric.Rect({ top: 100, left: 100, width: 30, height: 10, strokeWidth: 0 }),
rect2 = new fabric.Rect({ top: 120, left: 50, width: 10, height: 40, strokeWidth: 0 });
- return new fabric.Group([ rect1, rect2 ], {strokeWidth: 0});
+ return new fabric.Group([rect1, rect2], {strokeWidth: 0});
}
function makeGroupWith2ObjectsWithOpacity() {
var rect1 = new fabric.Rect({ top: 100, left: 100, width: 30, height: 10, strokeWidth: 0, opacity: 0.5 }),
rect2 = new fabric.Rect({ top: 120, left: 50, width: 10, height: 40, strokeWidth: 0, opacity: 0.8 });
- return new fabric.Group([ rect1, rect2 ], {strokeWidth: 0});
+ return new fabric.Group([rect1, rect2], {strokeWidth: 0});
}
function makeGroupWith4Objects() {
@@ -29,7 +29,7 @@
rect3 = new fabric.Rect({ top: 40, left: 0, width: 20, height: 40 }),
rect4 = new fabric.Rect({ top: 75, left: 75, width: 40, height: 40 });
- return new fabric.Group([ rect1, rect2, rect3, rect4 ]);
+ return new fabric.Group([rect1, rect2, rect3, rect4]);
}
QUnit.module('fabric.Group', {
@@ -57,19 +57,19 @@
var rect1 = new fabric.Rect(),
rect2 = new fabric.Rect();
- var group = new fabric.Group([ rect1, rect2 ]);
+ var group = new fabric.Group([rect1, rect2]);
ok(typeof group.getObjects == 'function');
ok(Object.prototype.toString.call(group.getObjects()) == '[object Array]', 'should be an array');
equal(group.getObjects().length, 2, 'should have 2 items');
- deepEqual(group.getObjects(), [ rect1, rect2 ], 'should return deepEqual objects as those passed to constructor');
+ deepEqual(group.getObjects(), [rect1, rect2], 'should return deepEqual objects as those passed to constructor');
});
test('getObjects with type', function() {
var rect = new fabric.Rect({ width: 10, height: 20 }),
circle = new fabric.Circle({ radius: 30 });
- var group = new fabric.Group([ rect, circle ]);
+ var group = new fabric.Group([rect, circle]);
equal(group.size(), 2, 'should have length=2 initially');
@@ -85,11 +85,11 @@
ok(typeof group.add == 'function');
equal(group.add(rect1), group, 'should be chainable');
- strictEqual(group.item(group.size()-1), rect1, 'last object should be newly added one');
+ strictEqual(group.item(group.size() - 1), rect1, 'last object should be newly added one');
equal(group.getObjects().length, 3, 'there should be 3 objects');
group.add(rect2, rect3);
- strictEqual(group.item(group.size()-1), rect3, 'last object should be last added one');
+ strictEqual(group.item(group.size() - 1), rect3, 'last object should be last added one');
equal(group.size(), 5, 'there should be 5 objects');
});
@@ -97,7 +97,7 @@
var rect1 = new fabric.Rect(),
rect2 = new fabric.Rect(),
rect3 = new fabric.Rect(),
- group = new fabric.Group([ rect1, rect2, rect3 ]);
+ group = new fabric.Group([rect1, rect2, rect3]);
ok(typeof group.remove == 'function');
equal(group.remove(rect2), group, 'should be chainable');
@@ -146,7 +146,7 @@
var rect1 = new fabric.Rect(),
rect2 = new fabric.Rect(),
notIncludedRect = new fabric.Rect(),
- group = new fabric.Group([ rect1, rect2 ]);
+ group = new fabric.Group([rect1, rect2]);
ok(typeof group.contains == 'function');
@@ -203,22 +203,22 @@
ok(group.getObjects()[0] !== clone.objects[0], 'should produce different objects in array');
});
-test('toObject without default values', function() {
- var group = makeGroupWith2Objects();
- group.includeDefaultValues = false;
- var clone = group.toObject();
+ test('toObject without default values', function() {
+ var group = makeGroupWith2Objects();
+ group.includeDefaultValues = false;
+ var clone = group.toObject();
- var expectedObject = {
- 'type': 'group',
- 'left': 50,
- 'top': 100,
- 'width': 80,
- 'height': 60,
- 'objects': clone.objects
- };
+ var expectedObject = {
+ 'type': 'group',
+ 'left': 50,
+ 'top': 100,
+ 'width': 80,
+ 'height': 60,
+ 'objects': clone.objects
+ };
- deepEqual(clone, expectedObject);
-});
+ deepEqual(clone, expectedObject);
+ });
test('render', function() {
var group = makeGroupWith2Objects();
@@ -321,7 +321,7 @@ test('toObject without default values', function() {
ok(typeof group.setObjectsCoords == 'function');
- var invokedObjects = [ ];
+ var invokedObjects = [];
group.forEachObject(function(groupObject){
groupObject.setCoords = function() {
invokedObjects.push(this);
@@ -363,7 +363,7 @@ test('toObject without default values', function() {
ok(typeof group.forEachObject == 'function');
equal(group.forEachObject(function(){}), group, 'should be chainable');
- var iteratedObjects = [ ];
+ var iteratedObjects = [];
group.forEachObject(function(groupObject) {
iteratedObjects.push(groupObject);
});
@@ -442,13 +442,13 @@ test('toObject without default values', function() {
test('z-index methods with group objects', function() {
var textBg = new fabric.Rect({
- fill : '#abc',
- width : 100,
- height : 100
+ fill: '#abc',
+ width: 100,
+ height: 100
});
var text = new fabric.Text('text');
- var group = new fabric.Group([ textBg, text ]);
+ var group = new fabric.Group([textBg, text]);
canvas.add(group);
@@ -517,7 +517,7 @@ test('toObject without default values', function() {
test('test group transformMatrix', function() {
var rect1 = new fabric.Rect({ top: 1, left: 1, width: 2, height: 2, strokeWidth: 0, fill: 'red', opacity: 1}),
rect2 = new fabric.Rect({ top: 4, left: 4, width: 2, height: 2, strokeWidth: 0, fill: 'red', opacity: 1}),
- group = new fabric.Group([ rect1, rect2 ], {opacity: 1, fill: 'blue', strokeWidth: 0}),
+ group = new fabric.Group([rect1, rect2], {opacity: 1, fill: 'blue', strokeWidth: 0}),
isTransparent = fabric.util.isTransparent,
ctx = canvas.contextContainer;
canvas.add(group);
diff --git a/test/unit/image.js b/test/unit/image.js
index b4486b76..88d284df 100644
--- a/test/unit/image.js
+++ b/test/unit/image.js
@@ -2,7 +2,7 @@
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) { return path };
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -91,7 +91,7 @@
function setSrc(img, src, callback) {
if (fabric.isLikelyNode) {
require('fs').readFile(src, function(err, imgData) {
- if (err) throw err;
+ if (err) { throw err };
img.src = imgData;
img._src = src;
callback && callback();
@@ -330,14 +330,14 @@
return element;
}
- var IMAGE_DATA_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAARCAYAAADtyJ2fAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVBJREFUeNqMU7tOBDEMtENuy614/QE/gZBOuvJK+Et6CiQ6JP6ExxWI7bhL1vgVExYKLPmsTTIzjieHd+MZZSBIAJwEyJU0EWaum+lNljRux3O6nl70Gx/GUwUeyYcDJWZNhMK1aEXYe95Mz4iP44kDTRUZSWSq1YEHri0/HZxXfGSFBN+qDEJTrNI+QXRBviZ7eWCQgjsg+IHiHYB30MhqUxwcmH1Arc2kFDwkBldeFGJLPqs/AbbF2dWgUym6Z2Tb6RVzYxG1wUnmaNcOonZiU0++l6C7FzoQY42g3+8jz+GZ+dWMr1rRH0OjAFhPO+VJFx/vWDqPmk8H97CGBUYUiqAGW0PVe1+aX8j2Ll0tgHtvLx6AK9Tu1ZTFTQ0ojChqGD4qkOzeAuzVfgzsaTym1ClS+IdwtQCFooQMBTumNun1H6Bfcc9/MUn4R3wJMAAZH6MmA4ht4gAAAABJRU5ErkJggg==";
+ var IMAGE_DATA_URL = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAARCAYAAADtyJ2fAAAACXBIWXMAAAsSAAALEgHS3X78AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAVBJREFUeNqMU7tOBDEMtENuy614/QE/gZBOuvJK+Et6CiQ6JP6ExxWI7bhL1vgVExYKLPmsTTIzjieHd+MZZSBIAJwEyJU0EWaum+lNljRux3O6nl70Gx/GUwUeyYcDJWZNhMK1aEXYe95Mz4iP44kDTRUZSWSq1YEHri0/HZxXfGSFBN+qDEJTrNI+QXRBviZ7eWCQgjsg+IHiHYB30MhqUxwcmH1Arc2kFDwkBldeFGJLPqs/AbbF2dWgUym6Z2Tb6RVzYxG1wUnmaNcOonZiU0++l6C7FzoQY42g3+8jz+GZ+dWMr1rRH0OjAFhPO+VJFx/vWDqPmk8H97CGBUYUiqAGW0PVe1+aX8j2Ll0tgHtvLx6AK9Tu1ZTFTQ0ojChqGD4qkOzeAuzVfgzsaTym1ClS+IdwtQCFooQMBTumNun1H6Bfcc9/MUn4R3wJMAAZH6MmA4ht4gAAAABJRU5ErkJggg==';
ok(typeof fabric.Image.fromElement == 'function', 'fromElement should exist');
var imageEl = makeImageElement({
- width: "14",
- height: "17",
- "xlink:href": IMAGE_DATA_URL
+ width: '14',
+ height: '17',
+ 'xlink:href': IMAGE_DATA_URL
});
fabric.Image.fromElement(imageEl, function(imgObject) {
diff --git a/test/unit/image_filters.js b/test/unit/image_filters.js
index b49c2286..80b49024 100644
--- a/test/unit/image_filters.js
+++ b/test/unit/image_filters.js
@@ -2,7 +2,7 @@
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) { return path };
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -68,7 +68,7 @@
function setSrc(img, src, callback) {
if (fabric.isLikelyNode) {
require('fs').readFile(src, function(err, imgData) {
- if (err) throw err;
+ if (err) { throw err };
img.src = imgData;
callback && callback();
});
@@ -687,7 +687,7 @@
if (maskObj.height === 0) {
maskObj.height = IMG_HEIGHT;
}
- equal(JSON.stringify(object), '{"type":"Mask","mask":'+JSON.stringify(maskObj)+',"channel":0}');
+ equal(JSON.stringify(object), '{"type":"Mask","mask":' + JSON.stringify(maskObj) + ',"channel":0}');
start();
});
@@ -708,7 +708,7 @@
if (maskObj.height === 0) {
maskObj.height = IMG_HEIGHT;
}
- equal(JSON.stringify(json), '{"type":"Mask","mask":'+JSON.stringify(maskObj)+',"channel":0}');
+ equal(JSON.stringify(json), '{"type":"Mask","mask":' + JSON.stringify(maskObj) + ',"channel":0}');
start();
});
diff --git a/test/unit/itext.js b/test/unit/itext.js
index 4633c3bb..2c8a9e8a 100644
--- a/test/unit/itext.js
+++ b/test/unit/itext.js
@@ -754,8 +754,8 @@
parser = new DOMParser();
}
var svgString = canvas.toSVG(),
- doc = parser.parseFromString(svgString, "image/svg+xml"),
+ doc = parser.parseFromString(svgString, 'image/svg+xml'),
style = doc.getElementsByTagName('style')[0].firstChild.data;
- equal(style, '\n\t\t@font-face {\n\t\t\tfont-family: \'Plaster\';\n\t\t\tsrc: url(\'path-to-plaster-font-file\');\n\t\t}\n\t\t@font-face {\n\t\t\tfont-family: \'Engagement\';\n\t\t\tsrc: url(\'path-to-engagement-font-file\');\n\t\t}\n');
+ equal(style, '\n\t\t@font-face {\n\t\t\tfont-family: \'Plaster\';\n\t\t\tsrc: url(\'path-to-plaster-font-file\');\n\t\t}\n\t\t@font-face {\n\t\t\tfont-family: \'Engagement\';\n\t\t\tsrc: url(\'path-to-engagement-font-file\');\n\t\t}\n');
});
})();
diff --git a/test/unit/line.js b/test/unit/line.js
index ff5e5e5e..66378ad7 100644
--- a/test/unit/line.js
+++ b/test/unit/line.js
@@ -137,7 +137,7 @@
});
test('changing x/y coords should update width/height', function() {
- var line = new fabric.Line([ 50, 50, 100, 100]);
+ var line = new fabric.Line([50, 50, 100, 100]);
equal(50, line.width);
@@ -196,7 +196,7 @@
},
{ description: 'include offsets for left-top origin',
givenLineArgs: {
- points: [0+33, 0+44, 11+33, 22+44],
+ points: [0 + 33, 0 + 44, 11 + 33, 22 + 44],
options: {
originX: 'left',
originY: 'top',
@@ -222,7 +222,7 @@
},
{ description: 'include offsets for center-center origin',
givenLineArgs: {
- points: [0+9.87, 0-4.32, 12.3+9.87, 34.5-4.32],
+ points: [0 + 9.87, 0 - 4.32, 12.3 + 9.87, 34.5 - 4.32],
options: {
originX: 'center',
originY: 'center',
@@ -248,7 +248,7 @@
},
{ description: 'include offsets for right-bottom origin',
givenLineArgs: {
- points: [0-3.14, 0-1.41, 55-3.14, 18-1.41],
+ points: [0 - 3.14, 0 - 1.41, 55 - 3.14, 18 - 1.41],
options: {
originX: 'right',
originY: 'bottom',
@@ -332,7 +332,7 @@
},
{ description: 'arent changed by strokeWidth for center-center origin',
givenLineArgs: {
- points: [0+31, 15+26, 28+31, 0+26],
+ points: [0 + 31, 15 + 26, 28 + 31, 0 + 26],
options: {
originX: 'center',
originY: 'center',
@@ -455,13 +455,13 @@
},
{ description: 'includes positive offset for left origin',
givenOrigin: 'left',
- givenPoints: [0+20, 0, 1+20, 0],
- expectedLeft: 0+20,
+ givenPoints: [0 + 20, 0, 1 + 20, 0],
+ expectedLeft: 0 + 20,
},
{ description: 'includes negative offset for left origin',
givenOrigin: 'left',
- givenPoints: [0-11, 0, 1-11, 0],
- expectedLeft: 0-11,
+ givenPoints: [0 - 11, 0, 1 - 11, 0],
+ expectedLeft: 0 - 11,
},
{ description: 'is half of x1 for center origin and x1 > x2',
givenOrigin: 'center',
@@ -475,12 +475,12 @@
},
{ description: 'includes positive offset for center origin',
givenOrigin: 'center',
- givenPoints: [0+39, 0, 7+39, 0],
+ givenPoints: [0 + 39, 0, 7 + 39, 0],
expectedLeft: (0.5 * 7) + 39,
},
{ description: 'includes negative offset for center origin',
givenOrigin: 'center',
- givenPoints: [4-13, 0, 0-13, 0],
+ givenPoints: [4 - 13, 0, 0 - 13, 0],
expectedLeft: (0.5 * 4) - 13,
},
{ description: 'is x1 for right origin and x1 > x2',
@@ -495,12 +495,12 @@
},
{ description: 'includes positive offset for right origin',
givenOrigin: 'right',
- givenPoints: [0+47, 0, 6+47, 0],
+ givenPoints: [0 + 47, 0, 6 + 47, 0],
expectedLeft: 6 + 47,
},
{ description: 'includes negative offset for right origin',
givenOrigin: 'right',
- givenPoints: [9-17, 0, 0-17, 0],
+ givenPoints: [9 - 17, 0, 0 - 17, 0],
expectedLeft: 9 - 17,
},
];
@@ -529,13 +529,13 @@
},
{ description: 'includes positive offset for top origin',
givenOrigin: 'top',
- givenPoints: [0, 0+20, 0, 1+20],
- expectedTop: 0+20,
+ givenPoints: [0, 0 + 20, 0, 1 + 20],
+ expectedTop: 0 + 20,
},
{ description: 'includes negative offset for top origin',
givenOrigin: 'top',
- givenPoints: [0, 0-11, 0, 1-11],
- expectedTop: 0-11,
+ givenPoints: [0, 0 - 11, 0, 1 - 11],
+ expectedTop: 0 - 11,
},
{ description: 'is half of y1 for center origin and y1 > y2',
givenOrigin: 'center',
@@ -549,12 +549,12 @@
},
{ description: 'includes positive offset for center origin',
givenOrigin: 'center',
- givenPoints: [0, 0+39, 0, 7+39],
+ givenPoints: [0, 0 + 39, 0, 7 + 39],
expectedTop: (0.5 * 7) + 39,
},
{ description: 'includes negative offset for center origin',
givenOrigin: 'center',
- givenPoints: [0, 4-13, 0, 0-13],
+ givenPoints: [0, 4 - 13, 0, 0 - 13],
expectedTop: (0.5 * 4) - 13,
},
{ description: 'is y1 for bottom origin and y1 > y2',
@@ -569,12 +569,12 @@
},
{ description: 'includes positive offset for bottom origin',
givenOrigin: 'bottom',
- givenPoints: [0, 0+47, 0, 6+47],
+ givenPoints: [0, 0 + 47, 0, 6 + 47],
expectedTop: 6 + 47,
},
{ description: 'includes negative offset for bottom origin',
givenOrigin: 'bottom',
- givenPoints: [0, 9-17, 0, 0-17],
+ givenPoints: [0, 9 - 17, 0, 0 - 17],
expectedTop: 9 - 17,
},
];
diff --git a/test/unit/object.js b/test/unit/object.js
index 6cfc4ed2..4fff8a02 100644
--- a/test/unit/object.js
+++ b/test/unit/object.js
@@ -4,7 +4,9 @@
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) {
+ return path;
+ }
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -12,8 +14,8 @@
return src;
}
- var IMG_SRC = fabric.isLikelyNode ? (__dirname + '/../fixtures/test_image.gif') : getAbsolutePath('../fixtures/test_image.gif'),
- IMG_WIDTH = 276,
+ var IMG_SRC = fabric.isLikelyNode ? (__dirname + '/../fixtures/test_image.gif') : getAbsolutePath('../fixtures/test_image.gif'),
+ IMG_WIDTH = 276,
IMG_HEIGHT = 110;
function _createImageElement() {
@@ -32,7 +34,9 @@
function setSrc(img, src, callback) {
if (fabric.isLikelyNode) {
require('fs').readFile(src, function(err, imgData) {
- if (err) throw err;
+ if (err) {
+ throw err;
+ };
img.src = imgData;
callback && callback();
});
@@ -167,16 +171,16 @@
});
test('toJSON', function() {
- var emptyObjectJSON = '{"type":"object","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",'+
+ var emptyObjectJSON = '{"type":"object","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)",'+
- '"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",'+
+ var augmentedJSON = '{"type":"object","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",' +
'"transformMatrix":null,"skewX":0,"skewY":0}';
var cObj = new fabric.Object();
@@ -308,7 +312,7 @@
top: 20,
width: 30,
height: 40,
- strokeDashArray: [ 5, 2 ],
+ strokeDashArray: [5, 2],
strokeLineCap: 'round',
strokeLineJoin: 'bevil',
strokeMiterLimit: 5,
@@ -394,7 +398,7 @@
equal(boundingRect.height, 334);
});
-test('getBoundingRectWithStroke', function() {
+ test('getBoundingRectWithStroke', function() {
var cObj = new fabric.Object(),
boundingRect;
ok(typeof cObj.getBoundingRect == 'function');
@@ -472,7 +476,7 @@ test('getBoundingRectWithStroke', function() {
ok(typeof cObj.scaleToWidth == 'function');
equal(cObj.scaleToWidth(100), cObj, 'chainable');
equal(cObj.getWidth(), 100);
- equal(cObj.get('scaleX'), 100/560);
+ equal(cObj.get('scaleX'), 100 / 560);
});
test('scaleToHeight', function() {
@@ -480,7 +484,7 @@ test('getBoundingRectWithStroke', function() {
ok(typeof cObj.scaleToHeight == 'function');
equal(cObj.scaleToHeight(100), cObj, 'chainable');
equal(cObj.getHeight(), 100);
- equal(cObj.get('scaleY'), 100/560);
+ equal(cObj.get('scaleY'), 100 / 560);
});
test('scaleToWidth on rotated object', function() {
@@ -527,7 +531,7 @@ test('getBoundingRectWithStroke', function() {
//let excanvas kick in for IE8 and lower
if (!canvas.getContext && typeof G_vmlCanvasManager != 'undefined') {
- G_vmlCanvasManager.initElement(canvas);
+ G_vmlCanvasManager.initElement(canvas);
}
var dummyContext = canvas.getContext('2d');
@@ -541,7 +545,7 @@ test('getBoundingRectWithStroke', function() {
//let excanvas kick in for IE8 and lower
if (!canvas.getContext && typeof G_vmlCanvasManager != 'undefined') {
- G_vmlCanvasManager.initElement(canvas);
+ G_vmlCanvasManager.initElement(canvas);
}
var dummyContext = canvas.getContext('2d');
ok(typeof cObj.drawControls == 'function');
@@ -643,13 +647,13 @@ test('getBoundingRectWithStroke', function() {
dataURL = cObj.toDataURL({ format: 'jpeg' });
equal(dataURL.substring(0, 22), 'data:image/jpeg;base64');
}
- catch(err) {
+ catch (err) {
fabric.log('jpeg toDataURL not supported');
}
}
});
-test('toDataURL & reference to canvas', function() {
+ test('toDataURL & reference to canvas', function() {
// var data =
// 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQA'+
// 'AABkCAYAAABw4pVUAAAA+UlEQVR4nO3RoRHAQBDEsOu/6YR+B2s'+
@@ -660,21 +664,21 @@ test('toDataURL & reference to canvas', function() {
// 'uYBGJI2D8CQtHkAhqTNAzAkbR6AIWnzAAxJmwdgSNo8AEPS5gEYkjYPw'+
// 'JC0eQCGpM0DMCRtHsDjB5K06yueJFXJAAAAAElFTkSuQmCC';
- var cObj = new fabric.Rect({
- width: 100, height: 100, fill: 'red'
+ var cObj = new fabric.Rect({
+ width: 100, height: 100, fill: 'red'
+ });
+ canvas.add(cObj);
+
+ if (!fabric.Canvas.supports('toDataURL')) {
+ window.alert('toDataURL is not supported by this environment. Some of the tests can not be run.');
+ }
+ else {
+ var objCanvas = cObj.canvas;
+ cObj.toDataURL();
+
+ equal(objCanvas, cObj.canvas);
+ }
});
- canvas.add(cObj);
-
- if (!fabric.Canvas.supports('toDataURL')) {
- window.alert('toDataURL is not supported by this environment. Some of the tests can not be run.');
- }
- else {
- var objCanvas = cObj.canvas;
- cObj.toDataURL();
-
- equal(objCanvas, cObj.canvas);
- }
-});
test('hasStateChanged', function() {
var cObj = new fabric.Object();
@@ -1453,13 +1457,13 @@ test('toDataURL & reference to canvas', function() {
});
test('getObjectScale', function() {
- var object = new fabric.Object({ scaleX: 3, scaleY : 2});
+ var object = new fabric.Object({ scaleX: 3, scaleY: 2});
var objectScale = object.getObjectScaling();
deepEqual(objectScale, {scaleX: object.scaleX, scaleY: object.scaleY});
});
test('getObjectScale in group', function() {
- var object = new fabric.Object({ scaleX: 3, scaleY : 2});
+ var object = new fabric.Object({ scaleX: 3, scaleY: 2});
var group = new fabric.Group();
group.scaleX = 2;
group.scaleY = 2;
@@ -1476,7 +1480,7 @@ test('toDataURL & reference to canvas', function() {
el.width = 600; el.height = 600;
var canvas = fabric.isLikelyNode ? fabric.createCanvasForNode() : new fabric.StaticCanvas(el);
var context = canvas.contextContainer;
- var object = new fabric.Object({ scaleX: 1, scaleY : 1});
+ var object = new fabric.Object({ scaleX: 1, scaleY: 1});
var group = new fabric.Group();
group.scaleX = 2;
group.scaleY = 2;
diff --git a/test/unit/object_origin.js b/test/unit/object_origin.js
index 2e2ee689..22dc2255 100644
--- a/test/unit/object_origin.js
+++ b/test/unit/object_origin.js
@@ -93,7 +93,6 @@
});
-
test('translateToOriginPoint', function(){
var rect = new fabric.Rect(rectOptions),
p,
@@ -237,115 +236,113 @@
test('adjustPosition', function(){
- var rect = new fabric.Rect(rectOptions),
- p;
+ var rect = new fabric.Rect(rectOptions);
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 35);
deepEqual(rect.top, 45);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 'right');
rect.originX = 'center';
rect.originY = 'center';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 95);
deepEqual(rect.top, 45);
equal(rect.originX, 'right');
rect.originX = 'right';
rect.originY = 'bottom';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 95);
deepEqual(rect.top, 45);
equal(rect.originX, 'right');
});
test('adjustPositionRotated', function(){
- var rect = new fabric.Rect(rectOptions),
- p;
+ var rect = new fabric.Rect(rectOptions);
rect.angle = 35;
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 35);
deepEqual(rect.top, 45);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.471528727020925);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 'right');
rect.originX = 'center';
rect.originY = 'center';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.471528727020925);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 84.1491226573395);
deepEqual(rect.top, 79.41458618106277);
equal(rect.originX, 'right');
rect.originX = 'right';
rect.originY = 'bottom';
- p = rect.adjustPosition('left');
+ rect.adjustPosition('left');
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.47152872702093);
equal(rect.originX, 'left');
- p = rect.adjustPosition('center');
+ rect.adjustPosition('center');
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 'center');
- p = rect.adjustPosition('right');
+ rect.adjustPosition('right');
deepEqual(rect.left, 84.1491226573395);
deepEqual(rect.top, 79.41458618106277);
equal(rect.originX, 'right');
@@ -422,7 +419,6 @@
});
-
test('translateToOriginPoint with numeric origins', function(){
var rect = new fabric.Rect(rectOptions),
p,
@@ -566,115 +562,113 @@
test('adjustPosition with numeric origins', function(){
- var rect = new fabric.Rect(rectOptions),
- p;
+ var rect = new fabric.Rect(rectOptions);
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 35);
deepEqual(rect.top, 45);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 1);
rect.originX = 0.5;
rect.originY = 0.5;
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 95);
deepEqual(rect.top, 45);
equal(rect.originX, 1);
rect.originX = 1;
rect.originY = 1;
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 55);
deepEqual(rect.top, 45);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 75);
deepEqual(rect.top, 45);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 95);
deepEqual(rect.top, 45);
equal(rect.originX, 1);
});
test('adjustPositionRotated with numeric origins', function(){
- var rect = new fabric.Rect(rectOptions),
- p;
+ var rect = new fabric.Rect(rectOptions);
rect.angle = 35;
rect.strokeWidth = 0;
rect.originX = 0;
rect.originY = 0;
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 35);
deepEqual(rect.top, 45);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.471528727020925);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 1);
rect.originX = 0.5;
rect.originY = 0.5;
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.471528727020925);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 84.1491226573395);
deepEqual(rect.top, 79.41458618106277);
equal(rect.originX, 1);
rect.originX = 1;
rect.originY = 1;
- p = rect.adjustPosition(0);
+ rect.adjustPosition(0);
deepEqual(rect.left, 51.383040885779835);
deepEqual(rect.top, 56.47152872702093);
equal(rect.originX, 0);
- p = rect.adjustPosition(0.5);
+ rect.adjustPosition(0.5);
deepEqual(rect.left, 67.76608177155967);
deepEqual(rect.top, 67.94305745404185);
equal(rect.originX, 0.5);
- p = rect.adjustPosition(1);
+ rect.adjustPosition(1);
deepEqual(rect.left, 84.1491226573395);
deepEqual(rect.top, 79.41458618106277);
equal(rect.originX, 1);
diff --git a/test/unit/observable.js b/test/unit/observable.js
index 74508a5b..5b9e5a7c 100644
--- a/test/unit/observable.js
+++ b/test/unit/observable.js
@@ -212,7 +212,7 @@ test('removal of past events inner loop', function() {
equal(event1Fired, 1, 'Event 1 should fire once');
equal(event2Fired, 0, 'Event 2 should not be fired yet');
equal(event3Fired, 0, 'Event 3 should not be fired yet');
- equal(event4Fired, 0, 'Event 4 should not be fired yet');
+ equal(event4Fired, 0, 'Event 4 should not be fired yet');
foo.trigger('bar:baz');
equal(foo.__eventListeners['bar:baz'].length, 3, 'There should be 3 handlers registered now');
},
diff --git a/test/unit/parser.js b/test/unit/parser.js
index 63fbaae5..e675037e 100644
--- a/test/unit/parser.js
+++ b/test/unit/parser.js
@@ -94,11 +94,11 @@
element.setAttribute('x', '100');
parent.setAttribute('y', '200');
grandParent.setAttribute('width', '600');
- grandParent.setAttribute('height', '600');
+ grandParent.setAttribute('height', '600');
deepEqual(fabric.parseAttributes(element, 'x y width height'.split(' ')),
{ left: 100, top: 200, width: 600, height: 600 });
- });
+ });
asyncTest('parseElements', function() {
ok(fabric.parseElements);
@@ -122,7 +122,7 @@
parsedElements = instances;
});
}
- catch(err) {
+ catch (err) {
error = err;
}
ok(error === undefined, 'No error is raised');
@@ -531,7 +531,7 @@
'strokeWidth': 0.25
},
'polygon.cls': {
- 'fill' : '',
+ 'fill': '',
'stroke': '#0000FF'
}
};
@@ -541,7 +541,7 @@
var elPolygon = fabric.document.createElement('polygon'),
expectedStyle = {
- 'fill' : '',
+ 'fill': '',
'stroke': '#0000FF'
};
@@ -549,7 +549,7 @@
elPolygon.setAttribute('class', 'cls');
elPolygon.setAttribute('svgUid', svgUid);
- var style = fabric.parseAttributes(elPolygon, [ ]);
+ var style = fabric.parseAttributes(elPolygon, []);
deepEqual(style, expectedStyle);
styleElement.textContent = '\t\n';
diff --git a/test/unit/path.js b/test/unit/path.js
index 1422e92f..63e2cc7d 100644
--- a/test/unit/path.js
+++ b/test/unit/path.js
@@ -51,7 +51,7 @@
}
function makePathObject(callback) {
- getPathObject("M 100 100 L 300 100 L 200 300 z", callback);
+ getPathObject('M 100 100 L 300 100 L 200 300 z', callback);
}
QUnit.module('fabric.Path');
@@ -69,7 +69,7 @@
try {
new fabric.Path();
}
- catch(err) {
+ catch (err) {
error = err;
}
@@ -189,7 +189,7 @@
deepEqual(
path.get('transformMatrix'),
- [ Math.cos(ANGLE), Math.sin(ANGLE), -Math.sin(ANGLE), Math.cos(ANGLE), 0, 0 ]
+ [Math.cos(ANGLE), Math.sin(ANGLE), -Math.sin(ANGLE), Math.cos(ANGLE), 0, 0]
);
start();
});
diff --git a/test/unit/path_group.js b/test/unit/path_group.js
index f934a457..02a673ba 100644
--- a/test/unit/path_group.js
+++ b/test/unit/path_group.js
@@ -65,8 +65,8 @@
}
}
- var objects = [ ],
- paths = ["M 100 100 L 300 100 L 200 300 z", "M 200 200 L 100 200 L 400 50 z"],
+ var objects = [],
+ paths = ['M 100 100 L 300 100 L 200 300 z', 'M 200 200 L 100 200 L 400 50 z'],
numLoadedObjects = 0,
numTotalObjects = paths.length;
@@ -115,11 +115,11 @@
});
test('parsingDmensionsWithTransformMatrix', function() {
- var pathA = new fabric.Path("M 100 100 L 300 100 L 200 300 z", {transformMatrix: [2, 0, 0, 2, 0, 0]}),
- pathB = new fabric.Path("M 200 200 L 100 200 L 400 50 z", {transformMatrix: [3, 0, 0, 3, 0, 0]}),
- pg = new fabric.PathGroup([pathA, pathB], {toBeParsed: true});
- equal(pg.width, 1203);
- equal(pg.height, 603);
+ var pathA = new fabric.Path('M 100 100 L 300 100 L 200 300 z', {transformMatrix: [2, 0, 0, 2, 0, 0]}),
+ pathB = new fabric.Path('M 200 200 L 100 200 L 400 50 z', {transformMatrix: [3, 0, 0, 3, 0, 0]}),
+ pg = new fabric.PathGroup([pathA, pathB], {toBeParsed: true});
+ equal(pg.width, 1203);
+ equal(pg.height, 603);
});
asyncTest('getObjects', function() {
diff --git a/test/unit/pattern.js b/test/unit/pattern.js
index 9a2c6a92..27166461 100644
--- a/test/unit/pattern.js
+++ b/test/unit/pattern.js
@@ -9,7 +9,7 @@
function setSrc(img, src, callback) {
if (fabric.isLikelyNode) {
require('fs').readFile(src, function(err, imgData) {
- if (err) throw err;
+ if (err) { throw err };
img.src = imgData;
img._src = src;
callback && callback();
@@ -64,11 +64,11 @@
equal(object.offsetY, 0);
var patternWithGetSource = new fabric.Pattern({
- source: function() {return fabric.document.createElement("canvas")}
+ source: function() {return fabric.document.createElement('canvas')}
});
var object2 = patternWithGetSource.toObject();
- equal(object2.source, 'function () {return fabric.document.createElement("canvas")}');
+ equal(object2.source, 'function () {return fabric.document.createElement(\'canvas\')}');
equal(object2.repeat, 'repeat');
});
diff --git a/test/unit/polygon.js b/test/unit/polygon.js
index 3dc4c264..78ec606c 100644
--- a/test/unit/polygon.js
+++ b/test/unit/polygon.js
@@ -59,7 +59,7 @@
ok(polygon instanceof fabric.Object);
equal(polygon.type, 'polygon');
- deepEqual(polygon.get('points'), [ { x: 10, y: 12 }, { x: 20, y: 22 } ]);
+ deepEqual(polygon.get('points'), [{ x: 10, y: 12 }, { x: 20, y: 22 }]);
});
test('complexity', function() {
@@ -110,7 +110,7 @@
var expected = fabric.util.object.extend(
fabric.util.object.clone(REFERENCE_OBJECT), {
- points: [ { x: 10, y: 12 }, { x: 20, y: 22 } ]
+ points: [{ x: 10, y: 12 }, { x: 20, y: 22 }]
});
deepEqual(polygon.toObject(), expected);
@@ -149,10 +149,10 @@
'points': expectedPoints,
'top': 10,
'left': 10,
- 'transformMatrix': [ 2, 0, 0, 2, -10, -20 ]
+ 'transformMatrix': [2, 0, 0, 2, -10, -20]
}));
- deepEqual(polygonWithAttrs.get('transformMatrix'), [ 2, 0, 0, 2, -10, -20 ]);
+ deepEqual(polygonWithAttrs.get('transformMatrix'), [2, 0, 0, 2, -10, -20]);
equal(fabric.Polygon.fromElement(), null);
});
diff --git a/test/unit/polyline.js b/test/unit/polyline.js
index 8527fe64..64a06da3 100644
--- a/test/unit/polyline.js
+++ b/test/unit/polyline.js
@@ -59,7 +59,7 @@
ok(polyline instanceof fabric.Object);
equal(polyline.type, 'polyline');
- deepEqual(polyline.get('points'), [ { x: 10, y: 12 }, { x: 20, y: 22 } ]);
+ deepEqual(polyline.get('points'), [{ x: 10, y: 12 }, { x: 20, y: 22 }]);
});
test('complexity', function() {
@@ -137,11 +137,11 @@
'points': expectedPoints,
'left': 10,
'top': 10,
- 'transformMatrix' : [ 2, 0, 0, 2, -10, -20 ]
+ 'transformMatrix': [2, 0, 0, 2, -10, -20]
}));
- deepEqual(polylineWithAttrs.get('transformMatrix'), [ 2, 0, 0, 2, -10, -20 ]);
+ deepEqual(polylineWithAttrs.get('transformMatrix'), [2, 0, 0, 2, -10, -20]);
- equal(fabric.Polyline.fromElement(), null);
+ equal(fabric.Polyline.fromElement(), null);
});
})();
diff --git a/test/unit/rect.js b/test/unit/rect.js
index f1c9cf72..deac03e5 100644
--- a/test/unit/rect.js
+++ b/test/unit/rect.js
@@ -69,8 +69,8 @@
deepEqual(rect.toObject(), REFERENCE_RECT);
var expectedObject = fabric.util.object.extend({ }, REFERENCE_RECT);
- expectedObject.fill = {"type":"linear","coords":{"x1":0,"y1":0,"x2":200,"y2":0},"colorStops":[{"offset":"0","color":"rgb(255,0,0)","opacity":1},{"offset":"1","color":"rgb(0,0,255)","opacity":1}],"offsetX":0,"offsetY":0};
- expectedObject.stroke = {"type":"linear","coords":{"x1":0,"y1":0,"x2":200,"y2":0},"colorStops":[{"offset":"0","color":"rgb(255,0,0)","opacity":1},{"offset":"1","color":"rgb(0,0,255)","opacity":1}],"offsetX":0,"offsetY":0};
+ expectedObject.fill = {'type': 'linear','coords': {'x1': 0,'y1': 0,'x2': 200,'y2': 0},'colorStops': [{'offset': '0','color': 'rgb(255,0,0)','opacity': 1},{'offset': '1','color': 'rgb(0,0,255)','opacity': 1}],'offsetX': 0,'offsetY': 0};
+ expectedObject.stroke = {'type': 'linear','coords': {'x1': 0,'y1': 0,'x2': 200,'y2': 0},'colorStops': [{'offset': '0','color': 'rgb(255,0,0)','opacity': 1},{'offset': '1','color': 'rgb(0,0,255)','opacity': 1}],'offsetX': 0,'offsetY': 0};
rect = fabric.Rect.fromObject(expectedObject);
ok(rect.fill instanceof fabric.Gradient);
ok(rect.stroke instanceof fabric.Gradient);
diff --git a/test/unit/shadow.js b/test/unit/shadow.js
index 21421c4f..b4dd3f50 100644
--- a/test/unit/shadow.js
+++ b/test/unit/shadow.js
@@ -181,7 +181,7 @@
equal(shadow.toSVG(object), '\n\t\n\t\n\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n');
});
-
+
test('toSVG with rotated object', function() {
// reset uid
fabric.Object.__uid = 0;
@@ -191,7 +191,7 @@
equal(shadow.toSVG(object), '\n\t\n\t\n\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n');
});
-
+
test('toSVG with rotated flipped object', function() {
// reset uid
fabric.Object.__uid = 0;
diff --git a/test/unit/util.js b/test/unit/util.js
index efb00265..1dc35137 100644
--- a/test/unit/util.js
+++ b/test/unit/util.js
@@ -12,7 +12,7 @@
function getAbsolutePath(path) {
var isAbsolute = /^https?:/.test(path);
- if (isAbsolute) return path;
+ if (isAbsolute) { return path };
var imgEl = _createImageElement();
imgEl.src = path;
var src = imgEl.src;
@@ -21,7 +21,7 @@
}
var IMG_URL = fabric.isLikelyNode
- ? require("path").join(__dirname, '../fixtures/', 'very_large_image.jpg')
+ ? require('path').join(__dirname, '../fixtures/', 'very_large_image.jpg')
: getAbsolutePath('../fixtures/very_large_image.jpg');
var IMG_URL_NON_EXISTING = 'http://www.google.com/non-existing';
@@ -374,7 +374,7 @@
});
test('fabric.loadSVGFromURL', function() {
- equal("function", typeof fabric.loadSVGFromURL);
+ equal('function', typeof fabric.loadSVGFromURL);
});
var SVG_DOC_AS_STRING = '\
@@ -385,9 +385,9 @@
';
asyncTest('fabric.loadSVGFromString', function() {
- equal("function", typeof fabric.loadSVGFromString);
+ equal('function', typeof fabric.loadSVGFromString);
- var loadedObjects = [ ];
+ var loadedObjects = [];
fabric.loadSVGFromString(SVG_DOC_AS_STRING, function(objects) {
loadedObjects = objects;
});
@@ -400,7 +400,7 @@
});
asyncTest('fabric.loadSVGFromString with surrounding whitespace', function() {
- var loadedObjects = [ ];
+ var loadedObjects = [];
fabric.loadSVGFromString(' \n\n ' + SVG_DOC_AS_STRING + ' ', function(objects) {
loadedObjects = objects;
});
@@ -536,19 +536,19 @@
var undef;
var array = [1, 2, 3, 4, 5, undef, 6, 7, 1, 2, 3];
- equal(2, array.indexOf(3, -47), "large negative value for fromIndex");
+ equal(2, array.indexOf(3, -47), 'large negative value for fromIndex');
equal(10, array.indexOf(3, 4));
equal(10, array.indexOf(3, -5));
- equal(2, array.indexOf(3, {}), "nonsensical value for fromIndex");
- equal(2, array.indexOf(3, ""), "nonsensical value for fromIndex");
- equal(-1, array.indexOf(3, 41), "fromIndex value larger than the length of the array");
+ equal(2, array.indexOf(3, {}), 'nonsensical value for fromIndex');
+ equal(2, array.indexOf(3, ''), 'nonsensical value for fromIndex');
+ equal(-1, array.indexOf(3, 41), 'fromIndex value larger than the length of the array');
});
test('Array.prototype.forEach', function() {
ok(typeof Array.prototype.forEach === 'function');
var arr = [1,2,3];
- var result = [ ];
+ var result = [];
arr.forEach(function(val, index, arr) {
result.push(val, index, arr);
@@ -647,7 +647,7 @@
arr.reduce(function(memo, val) { return memo + val }), 0);
deepEqual(['1!', '2!', '3!', '4!', '5!'],
- arr.reduce(function(memo, val) { memo.push(val + '!'); return memo }, [ ]));
+ arr.reduce(function(memo, val) { memo.push(val + '!'); return memo }, []));
arr = 'foobar'.split('');
equal('f0o1o2b3a4r5',
@@ -749,7 +749,7 @@
var obj3 = { toString: function(){ return 'obj3' } };
deepEqual(['obj1', 'obj2', 'obj3'],
- fabric.util.array.invoke([ obj1, obj2, obj3 ], 'toString'));
+ fabric.util.array.invoke([obj1, obj2, obj3], 'toString'));
deepEqual(['f', 'b', 'b'],
fabric.util.array.invoke(['foo', 'bar', 'baz'], 'charAt', 0));
@@ -770,7 +770,7 @@
var obj2 = { valueOf: function(){ return 2 } };
var obj3 = { valueOf: function(){ return 3 } };
- equal(obj1, fabric.util.array.min([ obj1, obj3, obj2 ]));
+ equal(obj1, fabric.util.array.min([obj1, obj3, obj2]));
});
test('fabric.util.array.max', function() {
@@ -785,18 +785,18 @@
var obj2 = { valueOf: function(){ return 2 } };
var obj3 = { valueOf: function(){ return 3 } };
- equal(obj3, fabric.util.array.max([ obj1, obj3, obj2 ]));
+ equal(obj3, fabric.util.array.max([obj1, obj3, obj2]));
});
test('fabric.util.populateWithProperties', function() {
ok(typeof fabric.util.populateWithProperties == 'function');
var source = {
- foo: 'bar',
- baz: 123,
- qux: function() { }
- },
- destination = { };
+ foo: 'bar',
+ baz: 123,
+ qux: function() { }
+ },
+ destination = { };
fabric.util.populateWithProperties(source, destination);
ok(typeof destination.foo === 'undefined');
@@ -843,7 +843,7 @@
test('clearFabricFontCache', function() {
ok(typeof fabric.util.clearFabricFontCache == 'function');
- fabric.charWidthsCache = { arial : { some: 'cache'}, helvetica : { some: 'cache'} };
+ fabric.charWidthsCache = { arial: { some: 'cache'}, helvetica: { some: 'cache'} };
fabric.util.clearFabricFontCache('arial');
equal(fabric.charWidthsCache.arial, undefined, 'arial cache is deleted');
equal(fabric.charWidthsCache.helvetica.some, 'cache', 'helvetica cache is still available');
@@ -854,15 +854,15 @@
test('parsePreserveAspectRatioAttribute', function() {
ok(typeof fabric.util.parsePreserveAspectRatioAttribute == 'function');
var parsed;
- parsed = fabric.util.parsePreserveAspectRatioAttribute("none");
+ parsed = fabric.util.parsePreserveAspectRatioAttribute('none');
equal(parsed.meetOrSlice, 'meet');
equal(parsed.alignX, 'none');
equal(parsed.alignY, 'none');
- parsed = fabric.util.parsePreserveAspectRatioAttribute("none slice");
+ parsed = fabric.util.parsePreserveAspectRatioAttribute('none slice');
equal(parsed.meetOrSlice, 'slice');
equal(parsed.alignX, 'none');
equal(parsed.alignY, 'none');
- parsed = fabric.util.parsePreserveAspectRatioAttribute("XmidYmax meet");
+ parsed = fabric.util.parsePreserveAspectRatioAttribute('XmidYmax meet');
equal(parsed.meetOrSlice, 'meet');
equal(parsed.alignX, 'mid');
equal(parsed.alignY, 'max');
@@ -886,14 +886,14 @@
test('resetObjectTransform', function() {
ok(typeof fabric.util.resetObjectTransform == 'function');
var rect = new fabric.Rect({
- top:1,
+ top: 1,
width: 100,
height: 100,
angle: 30,
scaleX: 2,
scaleY: 1,
flipX: true,
- flipY : true,
+ flipY: true,
skewX: 30,
skewY: 30
});