fabric.js/test/unit/object_origin.js
Andrea Bogazzi c03111824c Update deps (#4315)
* try replace tests
* modified tests for new qunit
* lint tests
2017-09-17 11:44:57 +02:00

677 lines
23 KiB
JavaScript

(function() {
var rectOptions = {
'originX': 'left',
'originY': 'top',
'left': 35,
'top': 45,
'width': 20,
'height': 40,
'fill': 'rgb(0,0,0)',
'strokeWidth': 2,
'angle': 0,
'scaleX': 2,
'scaleY': 2,
};
QUnit.module('fabric.ObjectOrigins');
QUnit.test('getCenterPoint', function(assert) {
var rect = new fabric.Rect(rectOptions), p;
p = rect.getCenterPoint();
assert.deepEqual(p, new fabric.Point(57, 87));
});
QUnit.test('translateToCenterPoint', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.translateToCenterPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(15, 62));
p = rect.translateToCenterPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(15, -22));
p = rect.translateToCenterPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(37, 20));
p = rect.translateToCenterPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(37, 62));
p = rect.translateToCenterPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(37, -22));
p = rect.translateToCenterPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(-7, 20));
p = rect.translateToCenterPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(-7, 62));
p = rect.translateToCenterPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(-7, -22));
});
QUnit.test('translateToCenterPointRotated', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.translateToCenterPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(-9.090210326743936, 54.40438586013766));
p = rect.translateToCenterPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(39.090210326743936, -14.404385860137658));
p = rect.translateToCenterPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(33.02134497435782, 32.61868159972301));
p = rect.translateToCenterPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(8.931134647613884, 67.02306745986067));
p = rect.translateToCenterPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(57.11155530110176, -1.7857042604146471));
p = rect.translateToCenterPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(-3.0213449743578202, 7.381318400276987));
p = rect.translateToCenterPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(-27.11155530110176, 41.78570426041465));
p = rect.translateToCenterPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(21.068865352386116, -27.02306745986067));
});
QUnit.test('translateToOriginPoint', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.translateToOriginPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToOriginPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(15, -22));
p = rect.translateToOriginPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(15, 62));
p = rect.translateToOriginPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(-7, 20));
p = rect.translateToOriginPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(-7, -22));
p = rect.translateToOriginPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(-7, 62));
p = rect.translateToOriginPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(37, 20));
p = rect.translateToOriginPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(37, -22));
p = rect.translateToOriginPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(37, 62));
});
QUnit.test('translateToOriginPointRotated', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.translateToOriginPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToOriginPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(39.090210326743936, -14.404385860137658));
p = rect.translateToOriginPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(-9.090210326743936, 54.40438586013766));
p = rect.translateToOriginPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(-3.0213449743578202, 7.381318400276987));
p = rect.translateToOriginPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(21.068865352386116, -27.02306745986067));
p = rect.translateToOriginPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(-27.11155530110176, 41.78570426041465));
p = rect.translateToOriginPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(33.02134497435782, 32.61868159972301));
p = rect.translateToOriginPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(57.11155530110176, -1.7857042604146471));
p = rect.translateToOriginPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(8.931134647613884, 67.02306745986067));
});
QUnit.test('toLocalPoint', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.toLocalPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(-42, -67));
p = rect.toLocalPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(-42, -25));
p = rect.toLocalPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(-42, -109));
p = rect.toLocalPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(-20, -67));
p = rect.toLocalPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(-20, -25));
p = rect.toLocalPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(-20, -109));
p = rect.toLocalPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(-64, -67));
p = rect.toLocalPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(-64, -25));
p = rect.toLocalPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(-64, -109));
p = rect.toLocalPoint(point);
assert.deepEqual(p, new fabric.Point(-20, -25));
});
QUnit.test('toLocalPointRotated', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.toLocalPoint(point, 'center', 'center');
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -51.00727238020387));
p = rect.toLocalPoint(point, 'center', 'top');
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -9.007272380203872));
p = rect.toLocalPoint(point, 'center', 'bottom');
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -93.00727238020387));
p = rect.toLocalPoint(point, 'left', 'center');
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -51.00727238020387));
p = rect.toLocalPoint(point, 'left', 'top');
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -9.007272380203872));
p = rect.toLocalPoint(point, 'left', 'bottom');
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -93.00727238020387));
p = rect.toLocalPoint(point, 'right', 'center');
assert.deepEqual(p, new fabric.Point(-74.722451794556, -51.00727238020387));
p = rect.toLocalPoint(point, 'right', 'top');
assert.deepEqual(p, new fabric.Point(-74.722451794556, -9.007272380203872));
p = rect.toLocalPoint(point, 'right', 'bottom');
assert.deepEqual(p, new fabric.Point(-74.722451794556, -93.00727238020387));
p = rect.toLocalPoint(point);
assert.deepEqual(p, new fabric.Point(-58.791317146942106, -3.9842049203432026));
});
QUnit.test('adjustPosition', function(assert) {
var rect = new fabric.Rect(rectOptions);
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 35);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'right');
rect.originX = 'center';
rect.originY = 'center';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 95);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'right');
rect.originX = 'right';
rect.originY = 'bottom';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 95);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'right');
});
QUnit.test('adjustPositionRotated', function(assert) {
var rect = new fabric.Rect(rectOptions);
rect.angle = 35;
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 35);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.471528727020925);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 'right');
rect.originX = 'center';
rect.originY = 'center';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.471528727020925);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 84.1491226573395);
assert.deepEqual(rect.top, 79.41458618106277);
assert.equal(rect.originX, 'right');
rect.originX = 'right';
rect.originY = 'bottom';
rect.adjustPosition('left');
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.47152872702093);
assert.equal(rect.originX, 'left');
rect.adjustPosition('center');
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 'center');
rect.adjustPosition('right');
assert.deepEqual(rect.left, 84.1491226573395);
assert.deepEqual(rect.top, 79.41458618106277);
assert.equal(rect.originX, 'right');
});
QUnit.test('translateToCenterPoint with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.translateToCenterPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(15, 62));
p = rect.translateToCenterPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(15, -22));
p = rect.translateToCenterPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(37, 20));
p = rect.translateToCenterPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(37, 62));
p = rect.translateToCenterPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(37, -22));
p = rect.translateToCenterPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(-7, 20));
p = rect.translateToCenterPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(-7, 62));
p = rect.translateToCenterPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(-7, -22));
});
QUnit.test('translateToCenterPointRotated with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.translateToCenterPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToCenterPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(-9.090210326743936, 54.40438586013766));
p = rect.translateToCenterPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(39.090210326743936, -14.404385860137658));
p = rect.translateToCenterPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(33.02134497435782, 32.61868159972301));
p = rect.translateToCenterPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(8.931134647613884, 67.02306745986067));
p = rect.translateToCenterPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(57.11155530110176, -1.7857042604146471));
p = rect.translateToCenterPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(-3.0213449743578202, 7.381318400276987));
p = rect.translateToCenterPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(-27.11155530110176, 41.78570426041465));
p = rect.translateToCenterPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(21.068865352386116, -27.02306745986067));
});
QUnit.test('translateToOriginPoint with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.translateToOriginPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToOriginPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(15, -22));
p = rect.translateToOriginPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(15, 62));
p = rect.translateToOriginPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(-7, 20));
p = rect.translateToOriginPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(-7, -22));
p = rect.translateToOriginPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(-7, 62));
p = rect.translateToOriginPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(37, 20));
p = rect.translateToOriginPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(37, -22));
p = rect.translateToOriginPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(37, 62));
});
QUnit.test('translateToOriginPointRotated with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.translateToOriginPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(15, 20));
p = rect.translateToOriginPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(39.090210326743936, -14.404385860137658));
p = rect.translateToOriginPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(-9.090210326743936, 54.40438586013766));
p = rect.translateToOriginPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(-3.0213449743578202, 7.381318400276987));
p = rect.translateToOriginPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(21.068865352386116, -27.02306745986067));
p = rect.translateToOriginPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(-27.11155530110176, 41.78570426041465));
p = rect.translateToOriginPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(33.02134497435782, 32.61868159972301));
p = rect.translateToOriginPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(57.11155530110176, -1.7857042604146471));
p = rect.translateToOriginPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(8.931134647613884, 67.02306745986067));
});
QUnit.test('toLocalPoint with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
p = rect.toLocalPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(-42, -67));
p = rect.toLocalPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(-42, -25));
p = rect.toLocalPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(-42, -109));
p = rect.toLocalPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(-20, -67));
p = rect.toLocalPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(-20, -25));
p = rect.toLocalPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(-20, -109));
p = rect.toLocalPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(-64, -67));
p = rect.toLocalPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(-64, -25));
p = rect.toLocalPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(-64, -109));
p = rect.toLocalPoint(point);
assert.deepEqual(p, new fabric.Point(-20, -25));
});
QUnit.test('toLocalPointRotated with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions),
p,
point = new fabric.Point(15, 20);
rect.angle = 35;
p = rect.toLocalPoint(point, 0.5, 0.5);
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -51.00727238020387));
p = rect.toLocalPoint(point, 0.5, 0);
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -9.007272380203872));
p = rect.toLocalPoint(point, 0.5, 1);
assert.deepEqual(p, new fabric.Point(-52.72245179455599, -93.00727238020387));
p = rect.toLocalPoint(point, 0, 0.5);
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -51.00727238020387));
p = rect.toLocalPoint(point, 0, 0);
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -9.007272380203872));
p = rect.toLocalPoint(point, 0, 1);
assert.deepEqual(p, new fabric.Point(-30.722451794555987, -93.00727238020387));
p = rect.toLocalPoint(point, 1, 0.5);
assert.deepEqual(p, new fabric.Point(-74.722451794556, -51.00727238020387));
p = rect.toLocalPoint(point, 1, 0);
assert.deepEqual(p, new fabric.Point(-74.722451794556, -9.007272380203872));
p = rect.toLocalPoint(point, 1, 1);
assert.deepEqual(p, new fabric.Point(-74.722451794556, -93.00727238020387));
p = rect.toLocalPoint(point);
assert.deepEqual(p, new fabric.Point(-58.791317146942106, -3.9842049203432026));
});
QUnit.test('adjustPosition with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions);
rect.strokeWidth = 0;
rect.originX = 'left';
rect.originY = 'top';
rect.adjustPosition(0);
assert.deepEqual(rect.left, 35);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 1);
rect.originX = 0.5;
rect.originY = 0.5;
rect.adjustPosition(0);
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 95);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 1);
rect.originX = 1;
rect.originY = 1;
rect.adjustPosition(0);
assert.deepEqual(rect.left, 55);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 75);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 95);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 1);
});
QUnit.test('adjustPositionRotated with numeric origins', function(assert) {
var rect = new fabric.Rect(rectOptions);
rect.angle = 35;
rect.strokeWidth = 0;
rect.originX = 0;
rect.originY = 0;
rect.adjustPosition(0);
assert.deepEqual(rect.left, 35);
assert.deepEqual(rect.top, 45);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.471528727020925);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 1);
rect.originX = 0.5;
rect.originY = 0.5;
rect.adjustPosition(0);
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.471528727020925);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 84.1491226573395);
assert.deepEqual(rect.top, 79.41458618106277);
assert.equal(rect.originX, 1);
rect.originX = 1;
rect.originY = 1;
rect.adjustPosition(0);
assert.deepEqual(rect.left, 51.383040885779835);
assert.deepEqual(rect.top, 56.47152872702093);
assert.equal(rect.originX, 0);
rect.adjustPosition(0.5);
assert.deepEqual(rect.left, 67.76608177155967);
assert.deepEqual(rect.top, 67.94305745404185);
assert.equal(rect.originX, 0.5);
rect.adjustPosition(1);
assert.deepEqual(rect.left, 84.1491226573395);
assert.deepEqual(rect.top, 79.41458618106277);
assert.equal(rect.originX, 1);
});
})();