mirror of
https://github.com/Hopiu/fabric.js.git
synced 2026-03-16 22:10:32 +00:00
* new Object property strokeUniform allows the stroke width to always stay the same width as object scales * fix for height * Update src/shapes/object.class.js Co-Authored-By: stefanhayden <alt255@gmail.com> * trying the other function * different transformed function * added a visual test * fixed title * test svg * import value from svg * add svg import test * more tests
93 lines
2.4 KiB
JavaScript
93 lines
2.4 KiB
JavaScript
(function() {
|
|
fabric.enableGLFiltering = false;
|
|
fabric.isWebglSupported = false;
|
|
fabric.Object.prototype.objectCaching = true;
|
|
var visualTestLoop;
|
|
var getAsset;
|
|
if (fabric.isLikelyNode) {
|
|
visualTestLoop = global.visualTestLoop;
|
|
getAsset = global.getAsset;
|
|
}
|
|
else {
|
|
visualTestLoop = window.visualTestLoop;
|
|
getAsset = window.getAsset;
|
|
}
|
|
var fabricCanvas = new fabric.Canvas(null, {enableRetinaScaling: false, renderOnAddRemove: false});
|
|
|
|
function createTestFromSVG(svgName) {
|
|
var test = function(canvas, callback) {
|
|
getAsset(svgName, function(err, string) {
|
|
fabric.loadSVGFromString(string, function(objects, options) {
|
|
// something is disabling objectCaching and i cannot find where it is.
|
|
objects.forEach(function(o) {
|
|
o.objectCaching = true;
|
|
});
|
|
var group = fabric.util.groupSVGElements(objects, options);
|
|
group.includeDefaultValues = false;
|
|
canvas.includeDefaultValues = false;
|
|
canvas.add(group);
|
|
canvas.setDimensions({ width: group.width + group.left, height: group.height + group.top });
|
|
canvas.renderAll();
|
|
callback(fabricCanvas.lowerCanvasEl);
|
|
});
|
|
});
|
|
};
|
|
return {
|
|
test: 'Svg import test ' + svgName,
|
|
code: test,
|
|
golden: svgName + '.png',
|
|
percentage: 0.06,
|
|
};
|
|
}
|
|
|
|
function beforeEachHandler() {
|
|
fabricCanvas.clipPath = null;
|
|
fabricCanvas.viewportTransform = [1, 0, 0, 1, 0, 0];
|
|
fabricCanvas.clear();
|
|
fabricCanvas.renderAll();
|
|
}
|
|
|
|
QUnit.module('Simple svg import test', {
|
|
beforeEach: beforeEachHandler,
|
|
});
|
|
|
|
var tests = [
|
|
'svg_stroke_1',
|
|
'svg_stroke_2',
|
|
'svg_stroke_3',
|
|
'svg_stroke_4',
|
|
'svg_stroke_5',
|
|
'svg_stroke_6',
|
|
'svg_stroke_7',
|
|
'svg_stroke_8',
|
|
'svg_linear_1',
|
|
'svg_linear_2',
|
|
'svg_linear_3',
|
|
'svg_linear_4',
|
|
'svg_linear_5',
|
|
'svg_linear_6',
|
|
'svg_linear_7',
|
|
'svg_linear_8',
|
|
'svg_radial_1',
|
|
'svg_radial_2',
|
|
'svg_radial_3',
|
|
'svg_radial_4',
|
|
'svg_radial_5',
|
|
'svg_radial_6',
|
|
'svg_radial_8',
|
|
'svg_radial_9',
|
|
'svg_radial_10',
|
|
'svg_radial_11',
|
|
'svg_radial_12',
|
|
'svg_radial_13',
|
|
'svg_text_letterspacing',
|
|
'clippath-5',
|
|
'clippath-6',
|
|
'clippath-7',
|
|
'clippath-9',
|
|
'vector-effect'
|
|
//'clippath-8',
|
|
].map(createTestFromSVG);
|
|
|
|
tests.forEach(visualTestLoop(fabricCanvas, QUnit));
|
|
})();
|