shape tests are now passing. all factor setters now return this

This commit is contained in:
Eric Rowell 2013-12-02 22:16:58 -08:00
parent 411b337efe
commit 8c8cf0492c
3 changed files with 129 additions and 132 deletions

View File

@ -71,6 +71,7 @@
constructor.prototype[method] = function(val) { constructor.prototype[method] = function(val) {
this._setAttr(baseAttr, val); this._setAttr(baseAttr, val);
return this;
}; };
}, },
addComponentGetter: function(constructor, baseAttr, component, def) { addComponentGetter: function(constructor, baseAttr, component, def) {
@ -87,6 +88,7 @@
constructor.prototype[method] = function(val) { constructor.prototype[method] = function(val) {
this._setComponentAttr(baseAttr, component, val); this._setComponentAttr(baseAttr, component, val);
return this;
}; };
}, },

View File

@ -933,31 +933,34 @@
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
*/ */
Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillPatternOffset', 0); Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillPatternOffset', {x:0, y:0});
/** /**
* set fill pattern offset * set fill pattern offset
* @name setFillPatternOffset * @name setFillPatternOffset
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @param {Number|Array|Object} offset * @param {Object} offset
* @param {Number} offset.x
* @param {Number} offset.y
* @example * @example
* // set x and y<br> * // set x and y <br>
* shape.setFillPatternOffset(20, 40);<br><br>
*
* // set x only <br>
* shape.setFillPatternOffset({<br> * shape.setFillPatternOffset({<br>
* x: 20<br> * x: 20<br>
* });<br><br> * y: 10
* * });
* // set x and y using an array<br>
* shape.setFillPatternOffset([20, 40]);<br><br>
*
* // set x and y to the same value<br>
* shape.setFillPatternOffset(5);
*/ */
/** /**
* get fill pattern offset
* @name getFillPatternOffset
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Object}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillPatternOffset', 'x', 0);
/**
* set fill pattern offset x * set fill pattern offset x
* @name setFillPatternOffsetX * @name setFillPatternOffsetX
* @method * @method
@ -965,7 +968,15 @@
* @param {Number} x * @param {Number} x
*/ */
/** /**
* get fill pattern offset x
* @name getFillPatternOffsetX
* @method
* @memberof Kinetic.Shape.prototype
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillPatternOffset', 'y', 0);
/**
* set fill pattern offset y * set fill pattern offset y
* @name setFillPatternOffsetY * @name setFillPatternOffsetY
* @method * @method
@ -973,52 +984,41 @@
* @param {Number} y * @param {Number} y
*/ */
/** /**
* get fill pattern offset
* @name getFillPatternOffset
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill pattern offset x
* @name getFillPatternOffsetX
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill pattern offset y * get fill pattern offset y
* @name getFillPatternOffsetY * @name getFillPatternOffsetY
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
*/ */
Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillPatternScale', 1); Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillPatternScale', {x: 1, y:1});
/** /**
* set fill pattern scale * set fill pattern scale
* @name setFillPatternScale * @name setFillPatternScale
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @param {Number} scale * @param {Object} scale
* @param {Number} scale.x
* @param {Number} scale.y
* @example * @example
* // set x and y to the same value<br> * // set x and y <br>
* shape.setFillPatternScale(5);<br><br>
*
* // set x and y<br>
* shape.setFillPatternScale(20, 40);<br><br>
*
* // set x only <br>
* shape.setFillPatternScale({<br> * shape.setFillPatternScale({<br>
* x: 20<br> * x: 20<br>
* });<br><br> * y: 10
* * });
* // set x and y using an array<br>
* shape.setFillPatternScale([20, 40]);
*/ */
/** /**
* get fill pattern scale
* @name getFillPatternScale
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Object}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillPatternScale', 'x', 0);
/**
* set fill pattern scale x * set fill pattern scale x
* @name setFillPatternScaleX * @name setFillPatternScaleX
* @method * @method
@ -1026,7 +1026,16 @@
* @param {Number} x * @param {Number} x
*/ */
/** /**
* get fill pattern scale x
* @name getFillPatternScaleX
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Number}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillPatternScale', 'y', 0);
/**
* set fill pattern scale y * set fill pattern scale y
* @name setFillPatternScaleY * @name setFillPatternScaleY
* @method * @method
@ -1034,52 +1043,42 @@
* @param {Number} y * @param {Number} y
*/ */
/** /**
* get fill pattern scale
* @name getFillPatternScale
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill pattern scale x
* @name getFillPatternScaleX
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill pattern scale y * get fill pattern scale y
* @name getFillPatternScaleY * @name getFillPatternScaleY
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @returns {Number}
*/ */
Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillLinearGradientStartPoint', 0); Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillLinearGradientStartPoint', {x:0, y:0});
/** /**
* set fill linear gradient start point * set fill linear gradient start point
* @name setFillLinearGradientStartPoint * @name setFillLinearGradientStartPoint
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @param {Number|Array|Object} startPoint * @param {Object} startPoint
* @param {Number} startPoint.x
* @param {Number} startPoint.y
* @example * @example
* // set x and y<br> * // set x and y <br>
* shape.setFillLinearGradientStartPoint(20, 40);<br><br>
*
* // set x only <br>
* shape.setFillLinearGradientStartPoint({<br> * shape.setFillLinearGradientStartPoint({<br>
* x: 20<br> * x: 20<br>
* });<br><br> * y: 10
* * });
* // set x and y using an array<br>
* shape.setFillLinearGradientStartPoint([20, 40]);<br><br>
*
* // set x and y to the same value<br>
* shape.setFillLinearGradientStartPoint(5);
*/ */
/** /**
* get fill linear gradient start point
* @name getFillLinearGradientStartPoint
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Object}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillLinearGradientStartPoint', 'x', 0);
/**
* set fill linear gradient start point x * set fill linear gradient start point x
* @name setFillLinearGradientStartPointX * @name setFillLinearGradientStartPointX
* @method * @method
@ -1087,7 +1086,16 @@
* @param {Number} x * @param {Number} x
*/ */
/** /**
* get fill linear gradient start point x
* @name getFillLinearGradientStartPointX
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Number}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillLinearGradientStartPoint', 'y', 0);
/**
* set fill linear gradient start point y * set fill linear gradient start point y
* @name setFillLinearGradientStartPointY * @name setFillLinearGradientStartPointY
* @method * @method
@ -1095,52 +1103,41 @@
* @param {Number} y * @param {Number} y
*/ */
/** /**
* get fill linear gradient start point
* @name getFillLinearGradientStartPoint
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill linear gradient start point x
* @name getFillLinearGradientStartPointX
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill linear gradient start point y * get fill linear gradient start point y
* @name getFillLinearGradientStartPointY * @name getFillLinearGradientStartPointY
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @returns {Number}
*/ */
Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillLinearGradientEndPoint', 0); Kinetic.Factory.addGetterSetter(Kinetic.Shape, 'fillLinearGradientEndPoint', {x: 0, y: 0});
/** /**
* set fill linear gradient end point * set fill linear gradient end point
* @name setFillLinearGradientEndPoint * @name setFillLinearGradientEndPoint
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @param {Number|Array|Object} endPoint * @param {Object} endPoint
* @example * @example
* // set x and y<br>
* shape.setFillLinearGradientEndPoint(20, 40);<br><br>
*
* // set x only <br> * // set x only <br>
* shape.setFillLinearGradientEndPoint({<br> * shape.setFillLinearGradientEndPoint({<br>
* x: 20<br> * x: 20<br>
* });<br><br> * y: 10
* * });
* // set x and y using an array<br>
* shape.setFillLinearGradientEndPoint([20, 40]);<br><br>
*
* // set x and y to the same value<br>
* shape.setFillLinearGradientEndPoint(5);
*/ */
/** /**
* get fill linear gradient end point
* @name getFillLinearGradientEndPoint
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Object}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillLinearGradientEndPoint', 'x', 0);
/**
* set fill linear gradient end point x * set fill linear gradient end point x
* @name setFillLinearGradientEndPointX * @name setFillLinearGradientEndPointX
* @method * @method
@ -1148,7 +1145,17 @@
* @param {Number} x * @param {Number} x
*/ */
/** /**
* get fill linear gradient end point x
* @name getFillLinearGradientEndPointX
* @method
* @memberof Kinetic.Shape.prototype
* @returns {Number}
*/
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'fillLinearGradientEndPoint', 'y', 0);
/**
* set fill linear gradient end point y * set fill linear gradient end point y
* @name setFillLinearGradientEndPointY * @name setFillLinearGradientEndPointY
* @method * @method
@ -1156,25 +1163,12 @@
* @param {Number} y * @param {Number} y
*/ */
/** /**
* get fill linear gradient end point
* @name getFillLinearGradientEndPoint
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill linear gradient end point x
* @name getFillLinearGradientEndPointX
* @method
* @memberof Kinetic.Shape.prototype
*/
/**
* get fill linear gradient end point y * get fill linear gradient end point y
* @name getFillLinearGradientEndPointY * @name getFillLinearGradientEndPointY
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @returns {Number}
*/ */
Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', 0); Kinetic.Factory.addPointGetterSetter(Kinetic.Shape, 'fillRadialGradientStartPoint', 0);
@ -1322,6 +1316,7 @@
* @name getShadowOffset * @name getShadowOffset
* @method * @method
* @memberof Kinetic.Shape.prototype * @memberof Kinetic.Shape.prototype
* @returns {Object}
*/ */
Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'shadowOffset', 'x', 0); Kinetic.Factory.addComponentGetterSetter(Kinetic.Shape, 'shadowOffset', 'x', 0);

View File

@ -1,4 +1,4 @@
suite('Shape-test', function() { suite('Shape', function() {
// ====================================================== // ======================================================
test('shape color components', function() { test('shape color components', function() {
@ -191,8 +191,8 @@ suite('Shape-test', function() {
fillPatternImage: imageObj, fillPatternImage: imageObj,
fillPatternX: -20, fillPatternX: -20,
fillPatternY: -30, fillPatternY: -30,
fillPatternScale: 0.5, fillPatternScale: {x: 0.5, y:0.5},
fillPatternOffset: [219, 150], fillPatternOffset: {x: 219, y: 150},
fillPatternRotation: Math.PI * 0.5, fillPatternRotation: Math.PI * 0.5,
fillPatternRepeat: 'no-repeat', fillPatternRepeat: 'no-repeat',
@ -223,12 +223,12 @@ suite('Shape-test', function() {
assert.equal(star.getFillPatternRotation(), Math.PI, 'star fill rotation should be Math.PI'); assert.equal(star.getFillPatternRotation(), Math.PI, 'star fill rotation should be Math.PI');
star.setFillPatternScale(1); star.setFillPatternScale({x:1, y:1});
assert.equal(star.getFillPatternScale().x, 1, 'star fill scale x should be 1'); assert.equal(star.getFillPatternScale().x, 1, 'star fill scale x should be 1');
assert.equal(star.getFillPatternScale().y, 1, 'star fill scale y should be 1'); assert.equal(star.getFillPatternScale().y, 1, 'star fill scale y should be 1');
star.setFillPatternOffset([100, 120]); star.setFillPatternOffset({x:100, y:120});
assert.equal(star.getFillPatternOffset().x, 100, 'star fill offset x should be 100'); assert.equal(star.getFillPatternOffset().x, 100, 'star fill offset x should be 100');
assert.equal(star.getFillPatternOffset().y, 120, 'star fill offset y should be 120'); assert.equal(star.getFillPatternOffset().y, 120, 'star fill offset y should be 120');
@ -301,7 +301,7 @@ suite('Shape-test', function() {
circle.setFill(null); circle.setFill(null);
circle.setFillPatternImage(imageObj); circle.setFillPatternImage(imageObj);
circle.setFillPatternRepeat('no-repeat'); circle.setFillPatternRepeat('no-repeat');
circle.setFillPatternOffset([-200, -70]); circle.setFillPatternOffset({x:-200, y:-70});
assert.notEqual(circle.getFillPatternImage(), undefined, 'circle fill image should be defined'); assert.notEqual(circle.getFillPatternImage(), undefined, 'circle fill image should be defined');
assert.equal(circle.getFillPatternRepeat(), 'no-repeat', 'circle fill repeat should be no-repeat'); assert.equal(circle.getFillPatternRepeat(), 'no-repeat', 'circle fill repeat should be no-repeat');
@ -309,14 +309,14 @@ suite('Shape-test', function() {
assert.equal(circle.getFillPatternOffset().y, -70, 'circle fill offset y should be -70'); assert.equal(circle.getFillPatternOffset().y, -70, 'circle fill offset y should be -70');
circle.setFillPatternImage(null); circle.setFillPatternImage(null);
circle.setFillLinearGradientStartPoint(-35); circle.setFillLinearGradientStartPoint({x:-35,y:-35});
circle.setFillLinearGradientEndPoint(35); circle.setFillLinearGradientEndPoint({x:35,y:35});
circle.setFillLinearGradientColorStops([0, 'red', 1, 'blue']); circle.setFillLinearGradientColorStops([0, 'red', 1, 'blue']);
circle.setFillLinearGradientStartPoint(null); circle.setFillLinearGradientStartPoint(null);
circle.setFillPatternImage(imageObj); circle.setFillPatternImage(imageObj);
circle.setFillPatternRepeat('repeat'); circle.setFillPatternRepeat('repeat');
circle.setFillPatternOffset(0); circle.setFillPatternOffset({x:0,y:0});
layer.draw(); layer.draw();
@ -338,7 +338,7 @@ suite('Shape-test', function() {
strokeWidth: 4, strokeWidth: 4,
shadowColor: 'black', shadowColor: 'black',
shadowBlur: 10, shadowBlur: 10,
shadowOffset: 10, shadowOffset: {x:10, y:10},
dashArray: [10, 10], dashArray: [10, 10],
scaleX: 3 scaleX: 3
}); });
@ -403,7 +403,7 @@ suite('Shape-test', function() {
opacity: 0.5, opacity: 0.5,
shadowColor: 'black', shadowColor: 'black',
shadowBlur: 10, shadowBlur: 10,
shadowOffset: 10, shadowOffset: {x:10, y:10},
shadowOpacity: 0.5 shadowOpacity: 0.5
}); });
@ -436,7 +436,7 @@ suite('Shape-test', function() {
opacity: 0.5, opacity: 0.5,
shadowColor: 'black', shadowColor: 'black',
shadowBlur: 10, shadowBlur: 10,
shadowOffset: 10, shadowOffset: {x:10, y:10},
shadowOpacity: 0.5 shadowOpacity: 0.5
}); });
@ -468,7 +468,7 @@ suite('Shape-test', function() {
opacity: 0.5, opacity: 0.5,
shadowColor: 'black', shadowColor: 'black',
shadowBlur: 10, shadowBlur: 10,
shadowOffset: 10, shadowOffset: {x:10, y:10},
shadowOpacity: 0.5, shadowOpacity: 0.5,
draggable: true draggable: true
}); });