mirror of
https://github.com/Hopiu/fabric.js.git
synced 2026-03-17 22:40:25 +00:00
96 lines
No EOL
2.5 KiB
JavaScript
96 lines
No EOL
2.5 KiB
JavaScript
(function() {
|
|
|
|
var REFERENCE_RECT = {
|
|
'type': 'rect',
|
|
'left': 0,
|
|
'top': 0,
|
|
'width': 0,
|
|
'height': 0,
|
|
'fill': 'rgb(0,0,0)',
|
|
'overlayFill': null,
|
|
'stroke': null,
|
|
'strokeWidth': 1,
|
|
'scaleX': 1,
|
|
'scaleY': 1,
|
|
'angle': 0,
|
|
'flipX': false,
|
|
'flipY': false,
|
|
'opacity': 1,
|
|
'selectable': true
|
|
};
|
|
|
|
module('fabric.Rect');
|
|
|
|
test('constructor', function(){
|
|
ok(fabric.Rect);
|
|
|
|
var rect = new fabric.Rect();
|
|
|
|
ok(rect instanceof fabric.Rect);
|
|
ok(rect instanceof fabric.Object);
|
|
|
|
same(rect.get('type'), 'rect');
|
|
});
|
|
|
|
test('complexity', function() {
|
|
var rect = new fabric.Rect();
|
|
|
|
ok(typeof rect.complexity == 'function');
|
|
});
|
|
|
|
test('toObject', function() {
|
|
var rect = new fabric.Rect();
|
|
ok(typeof rect.toObject == 'function');
|
|
|
|
var object = rect.toObject();
|
|
same(object, REFERENCE_RECT);
|
|
});
|
|
|
|
test('fabric.Rect.fromObject', function() {
|
|
ok(typeof fabric.Rect.fromObject == 'function');
|
|
|
|
var rect = fabric.Rect.fromObject(REFERENCE_RECT);
|
|
ok(rect instanceof fabric.Rect);
|
|
same(rect.toObject(), REFERENCE_RECT);
|
|
});
|
|
|
|
test('fabric.Rect.fromElement', function() {
|
|
ok(typeof fabric.Rect.fromElement == 'function');
|
|
|
|
var elRect = document.createElement('rect');
|
|
var rect = fabric.Rect.fromElement(elRect);
|
|
|
|
ok(rect instanceof fabric.Rect);
|
|
same(rect.toObject(), REFERENCE_RECT);
|
|
|
|
var elRectWithAttrs = document.createElement('rect');
|
|
elRectWithAttrs.setAttribute('x', 10);
|
|
elRectWithAttrs.setAttribute('y', 20);
|
|
elRectWithAttrs.setAttribute('width', 222);
|
|
elRectWithAttrs.setAttribute('height', 333);
|
|
elRectWithAttrs.setAttribute('rx', 11);
|
|
elRectWithAttrs.setAttribute('ry', 12);
|
|
elRectWithAttrs.setAttribute('fill', 'rgb(255,255,255)');
|
|
elRectWithAttrs.setAttribute('fill-opacity', 0.45);
|
|
elRectWithAttrs.setAttribute('stroke', 'blue');
|
|
elRectWithAttrs.setAttribute('stroke-width', 3);
|
|
//elRectWithAttrs.setAttribute('transform', 'translate(-10,-20) scale(2) rotate(45) translate(5,10)');
|
|
|
|
var rectWithAttrs = fabric.Rect.fromElement(elRectWithAttrs);
|
|
ok(rectWithAttrs instanceof fabric.Rect);
|
|
|
|
var expectedObject = fabric.util.object.extend(REFERENCE_RECT, {
|
|
left: 121,
|
|
top: 186.5,
|
|
width: 222,
|
|
height: 333,
|
|
fill: 'rgb(255,255,255)',
|
|
opacity: 0.45,
|
|
stroke: 'blue',
|
|
strokeWidth: 3
|
|
});
|
|
same(rectWithAttrs.toObject(), expectedObject);
|
|
|
|
ok(fabric.Rect.fromElement() === null);
|
|
});
|
|
})(); |