9b804c895abcfd40b995126352cb66f1984be853TrippYUI.add('shape-anim-tests', function(Y) {
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Trippvar suite = new Y.Test.Suite("Y.Graphic"),
9b804c895abcfd40b995126352cb66f1984be853TrippShapeTestTemplate = function(cfg, globalCfg) {
9b804c895abcfd40b995126352cb66f1984be853Tripp var i;
9b804c895abcfd40b995126352cb66f1984be853Tripp ShapeTestTemplate.superclass.constructor.apply(this);
9b804c895abcfd40b995126352cb66f1984be853Tripp cfg.width = cfg.width || 40;
9b804c895abcfd40b995126352cb66f1984be853Tripp cfg.height = cfg.height || 30;
9b804c895abcfd40b995126352cb66f1984be853Tripp this.attrCfg = cfg;
9b804c895abcfd40b995126352cb66f1984be853Tripp for(i in globalCfg)
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp if(globalCfg.hasOwnProperty(i))
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp this[i] = globalCfg[i];
9b804c895abcfd40b995126352cb66f1984be853Tripp }
9b804c895abcfd40b995126352cb66f1984be853Tripp }
9b804c895abcfd40b995126352cb66f1984be853Tripp};
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853TrippY.extend(ShapeTestTemplate, Y.Test.Case, {
9b804c895abcfd40b995126352cb66f1984be853Tripp name: "ShapeAnimTests",
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Tripp setUp: function () {
9b804c895abcfd40b995126352cb66f1984be853Tripp var node,
9b804c895abcfd40b995126352cb66f1984be853Tripp contentBounds,
9b804c895abcfd40b995126352cb66f1984be853Tripp nodewidth,
9b804c895abcfd40b995126352cb66f1984be853Tripp nodeheight;
9b804c895abcfd40b995126352cb66f1984be853Tripp Y.one("body").append('<div id="testbed"></div>');
9b804c895abcfd40b995126352cb66f1984be853Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
9b804c895abcfd40b995126352cb66f1984be853Tripp graphic = new Y.Graphic({render: "#graphiccontainer"});
9b804c895abcfd40b995126352cb66f1984be853Tripp this.graphic = graphic;
9b804c895abcfd40b995126352cb66f1984be853Tripp this.shape = graphic.addShape(this.attrCfg);
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Tripp tearDown: function () {
9b804c895abcfd40b995126352cb66f1984be853Tripp this.graphic.destroy();
9b804c895abcfd40b995126352cb66f1984be853Tripp Y.one("#testbed").remove(true);
9b804c895abcfd40b995126352cb66f1984be853Tripp }
9b804c895abcfd40b995126352cb66f1984be853Tripp});
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Trippfunction AnimTransformTest()
9b804c895abcfd40b995126352cb66f1984be853Tripp{
9b804c895abcfd40b995126352cb66f1984be853Tripp AnimTransformTest.superclass.constructor.apply(this, arguments);
9b804c895abcfd40b995126352cb66f1984be853Tripp};
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853TrippY.extend(AnimTransformTest, ShapeTestTemplate, {
9b804c895abcfd40b995126352cb66f1984be853Tripp test: function()
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp var anim = new Y.Anim({
9b804c895abcfd40b995126352cb66f1984be853Tripp node: this.shape,
9b804c895abcfd40b995126352cb66f1984be853Tripp duration: .5,
9b804c895abcfd40b995126352cb66f1984be853Tripp easing: "easeNone",
9b804c895abcfd40b995126352cb66f1984be853Tripp to: {
9b804c895abcfd40b995126352cb66f1984be853Tripp transform: this.endTransform
9b804c895abcfd40b995126352cb66f1984be853Tripp }
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp test = this;
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Tripp anim.on('end', function() {
9b804c895abcfd40b995126352cb66f1984be853Tripp test.resume(function() {
9b804c895abcfd40b995126352cb66f1984be853Tripp Y.Assert.areEqual(this.endTransform, this.shape.get("transform"));
9b804c895abcfd40b995126352cb66f1984be853Tripp });
9b804c895abcfd40b995126352cb66f1984be853Tripp });
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Tripp start = new Date();
9b804c895abcfd40b995126352cb66f1984be853Tripp anim.run();
9b804c895abcfd40b995126352cb66f1984be853Tripp test.wait(2000);
9b804c895abcfd40b995126352cb66f1984be853Tripp }
9b804c895abcfd40b995126352cb66f1984be853Tripp});
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Trippvar genericFill = {
9b804c895abcfd40b995126352cb66f1984be853Tripp color: "#f00"
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp genericStroke = {
9b804c895abcfd40b995126352cb66f1984be853Tripp color: "#00f",
9b804c895abcfd40b995126352cb66f1984be853Tripp weight: 1
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp rectTranslateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "translate(10, 20)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectTranslateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectRotateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "rotate(130)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectRotateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectSkewXTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "skewX(130)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectSkewXTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectSkewYTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "skewY(180)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectSkewYTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectScaleTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "scale(8, 5)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectScaleTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectScaleRotateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "scale(8, 5);rotate(110)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectScaleRotateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectScaleRotateTranslateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "scale(8, 5);rotate(110);translate(10, 10)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectScaleRotateTranslateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectScaleSkewXTranslateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "scale(8, 5);skewX(110);translate(10, 10)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectScaleSkewXTranslateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectScaleSkewYTranslateTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "scale(8, 5);skewY(110);translate(10, 10)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectScaleSkewYTranslateTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp }),
9b804c895abcfd40b995126352cb66f1984be853Tripp rectMatrixTest = new AnimTransformTest({
9b804c895abcfd40b995126352cb66f1984be853Tripp type: "rect",
9b804c895abcfd40b995126352cb66f1984be853Tripp fill: genericFill,
9b804c895abcfd40b995126352cb66f1984be853Tripp stroke: genericStroke
9b804c895abcfd40b995126352cb66f1984be853Tripp },
9b804c895abcfd40b995126352cb66f1984be853Tripp {
9b804c895abcfd40b995126352cb66f1984be853Tripp endTransform: "matrix(2, -3, 1, 2, 12, 5)",
9b804c895abcfd40b995126352cb66f1984be853Tripp NAME: "RectMatrixTest"
9b804c895abcfd40b995126352cb66f1984be853Tripp });
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectTranslateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectRotateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectSkewXTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectSkewYTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectScaleTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectScaleRotateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectScaleRotateTranslateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectScaleSkewXTranslateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectScaleSkewYTranslateTest);
9b804c895abcfd40b995126352cb66f1984be853Trippsuite.add(rectMatrixTest);
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853TrippY.Test.Runner.add( suite );
9b804c895abcfd40b995126352cb66f1984be853Tripp
9b804c895abcfd40b995126352cb66f1984be853Tripp}, '@VERSION@' ,{requires:['graphics', 'anim-shape-transform', 'test']});