graphics-tests.js revision 28e8b297bc9a35b81b8507d1d11cb005703f850f
4228965449d116d2787c15d2b39a075b37ac2fe0TrippYUI.add('graphics-tests', function(Y) {
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Trippvar suite = new Y.Test.Suite("Y.Graphic"),
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp ENGINE = "vml",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp DOCUMENT = Y.config.doc,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp canvas = DOCUMENT && DOCUMENT.createElement("canvas"),
7b4c159c66b840798b3abe52748239a21c614451Tripp graphicTests,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp svgTests,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp canvasTests,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp vmlTests;
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Trippif(DOCUMENT && DOCUMENT.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1"))
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp{
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp ENGINE = "svg";
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp}
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Trippelse if(canvas && canvas.getContext && canvas.getContext("2d"))
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp{
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp ENGINE = "canvas";
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp}
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451TrippgraphicTests = new Y.Test.Case({
7b4c159c66b840798b3abe52748239a21c614451Tripp name: "GraphicsTests",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp graphic: null,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp mycircle: null,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp myrect: null,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp myellipse: null,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp mypath: null,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp initialFillColor: "#f00",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp initialStrokeColor: "#00f",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp updatedFillColor: "#9aa",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp updatedStrokeColor: "#99a",
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp setUp: function () {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp Y.one("body").append('<div id="testbed"></div>');
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp tearDown: function () {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp Y.one("#testbed").remove(true);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test default construction": function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf( Y.Graphic, new Y.Graphic() );
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test render()": function () {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp var div = Y.one("#graphiccontainer"),
7b4c159c66b840798b3abe52748239a21c614451Tripp node,
7b4c159c66b840798b3abe52748239a21c614451Tripp contentBounds,
7b4c159c66b840798b3abe52748239a21c614451Tripp nodewidth,
7b4c159c66b840798b3abe52748239a21c614451Tripp nodeheight
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic = new Y.Graphic({render: "#graphiccontainer"});
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp graphic.on("init", function(e) {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(Y.Graphic, graphic);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp });
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test addShape(circle)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mycircle = graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "circle",
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp weight: 1
7b4c159c66b840798b3abe52748239a21c614451Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp fill: {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp color: this.initialFillColor
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp radius: 12,
7b4c159c66b840798b3abe52748239a21c614451Tripp x: -5,
7b4c159c66b840798b3abe52748239a21c614451Tripp y: -5
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(mycircle instanceof Y.Circle);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.mycircle = mycircle;
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(radius)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mycircle.get("radius") === 12);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(width)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mycircle.get("width") === 24);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(height)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mycircle.get("height") === 24);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(stroke)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var stroke = this.mycircle.get("stroke");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.color === this.initialStrokeColor);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(fill)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var fill = this.mycircle.get("fill");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fill.color === this.initialFillColor);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(x)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mycircle.get("x") === -5);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.get(y)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mycircle.get("y") === -5);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.set(stroke)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mycircle = this.mycircle;
7b4c159c66b840798b3abe52748239a21c614451Tripp mycircle.set("stroke", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedStrokeColor === mycircle.get("stroke").color);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mycircle.set(fill)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mycircle = this.mycircle;
7b4c159c66b840798b3abe52748239a21c614451Tripp mycircle.set("fill", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedFillColor === mycircle.get("fill").color);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testRemoveShape(circle)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var id,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapes = graphic.get("shapes"),
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape;
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.removeShape(this.mycircle);
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape = (shapes.hasOwnProperty(id) && shapes[id] instanceof Y.Circle);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isFalse(hasShape);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test addShape(rect)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp weight: 2,
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp x: 5,
7b4c159c66b840798b3abe52748239a21c614451Tripp y: 5,
7b4c159c66b840798b3abe52748239a21c614451Tripp width:300,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(myrect instanceof Y.Rect);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.myrect = myrect;
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(width)": function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myrect.get("width") === 300);
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(height)" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myrect.get("height") === 200);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(stroke)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var stroke = this.myrect.get("stroke");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.color === this.initialStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(fill)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var fill = this.myrect.get("fill");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fill.color === this.initialFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(x)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myrect.get("x") === 5);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.get(y)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myrect.get("y") === 5);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.set(stroke)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = this.myrect;
7b4c159c66b840798b3abe52748239a21c614451Tripp myrect.set("stroke", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedStrokeColor
c093c1aed867e18aa4778708592e1ceb45d18cffTripp });
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedStrokeColor === myrect.get("stroke").color);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
2b904e83040752143af70b087f637e39035bb2e6Tripp
2b904e83040752143af70b087f637e39035bb2e6Tripp "testRectStrokeWeightType" : function()
2b904e83040752143af70b087f637e39035bb2e6Tripp {
2b904e83040752143af70b087f637e39035bb2e6Tripp var strokeWeight = 2,
2b904e83040752143af70b087f637e39035bb2e6Tripp stroke = this.myrect.get("stroke");
2b904e83040752143af70b087f637e39035bb2e6Tripp Y.assert(stroke.weight === strokeWeight);
2b904e83040752143af70b087f637e39035bb2e6Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myrect.set(fill)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = this.myrect;
7b4c159c66b840798b3abe52748239a21c614451Tripp myrect.set("fill", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedFillColor
c093c1aed867e18aa4778708592e1ceb45d18cffTripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedFillColor === myrect.get("fill").color);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test removeShape(rect)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var id,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapes = graphic.get("shapes"),
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape;
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.removeShape(this.myrect);
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape = (shapes.hasOwnProperty(id) && shapes[id] instanceof Y.Rect);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isFalse(hasShape);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test addShape(ellipse)": function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myellipse = graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "ellipse",
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp weight: 2
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp width: 100,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 30,
7b4c159c66b840798b3abe52748239a21c614451Tripp x:100,
7b4c159c66b840798b3abe52748239a21c614451Tripp y:50
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(myellipse instanceof Y.Ellipse);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.myellipse = myellipse;
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(width)": function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myellipse.get("width") === 100);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(height)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myellipse.get("height") === 30);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(stroke)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var stroke = this.myellipse.get("stroke");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.color === this.initialStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(fill)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var fill = this.myellipse.get("fill");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fill.color === this.initialFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(x)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myellipse.get("x") === 100);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.get(y)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.myellipse.get("y") === 50);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.set(stroke)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myellipse = this.myellipse;
7b4c159c66b840798b3abe52748239a21c614451Tripp myellipse.set("stroke", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedStrokeColor === myellipse.get("stroke").color);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test myellipse.set(fill)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myellipse = this.myellipse;
7b4c159c66b840798b3abe52748239a21c614451Tripp myellipse.set("fill", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedFillColor === myellipse.get("fill").color);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test removeShape(ellipse)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var id,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapes = graphic.get("shapes"),
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape;
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.removeShape(this.myellipse);
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape = (shapes.hasOwnProperty(id) && shapes[id] instanceof Y.Ellipse);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isFalse(hasShape);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test addShape(path)": function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mypath = graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "path",
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
c093c1aed867e18aa4778708592e1ceb45d18cffTripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.moveTo(-20, -20);
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.lineTo(80, 120);
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.lineTo(100, 80);
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.lineTo(-20, -20);
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.end();
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(mypath instanceof Y.Path);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.mypath = mypath;
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(width)": function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mypath.get("width") === 120);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(height)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mypath.get("height") === 140);
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(stroke)" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var stroke = this.mypath.get("stroke");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.color === this.initialStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(fill)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var fill = this.mypath.get("fill");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fill.color === this.initialFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(x)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mypath.get("x") === 0);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.get(y)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.mypath.get("y") === 0);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.set(stroke)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mypath = this.mypath;
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.set("stroke", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedStrokeColor === mypath.get("stroke").color);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test mypath.set(fill)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var mypath = this.mypath;
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath.set("fill", {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.updatedFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.updatedFillColor === mypath.get("fill").color);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test removeShape(path)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var id,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapes = graphic.get("shapes"),
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape;
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.removeShape(this.mypath);
7b4c159c66b840798b3abe52748239a21c614451Tripp hasShape = (shapes.hasOwnProperty(id) && shapes[id] instanceof Y.Path);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isFalse(hasShape);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "test passRotation(rect)" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp weight: 2,
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp x: 5,
7b4c159c66b840798b3abe52748239a21c614451Tripp y: 5,
7b4c159c66b840798b3abe52748239a21c614451Tripp width:300,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200,
7b4c159c66b840798b3abe52748239a21c614451Tripp rotation: 45
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(myrect instanceof Y.Rect);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp});
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp//suite of svg specific tests
7b4c159c66b840798b3abe52748239a21c614451TrippsvgTests = new Y.Test.Case({
7b4c159c66b840798b3abe52748239a21c614451Tripp name: "SVGGraphicsTests",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp mycircle: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp myrect: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp myellipse: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp mypath: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialFillColor: "#f00",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialStrokeColor: "#00f",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp updatedFillColor: "#9aa",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp updatedStrokeColor: "#99a",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp setUp: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("body").append('<div id="testbed"></div>');
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp tearDown: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").remove(true);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGGraphic()" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
7b4c159c66b840798b3abe52748239a21c614451Tripp var graphic = new Y.Graphic({render: "#graphiccontainer"});
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.on("init", function(e) {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(SVGElement, graphic._contentNode);
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp this.graphic = graphic;
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNode()" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = this.graphic.addShape({
7b4c159c66b840798b3abe52748239a21c614451Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp width: 300,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200,
7b4c159c66b840798b3abe52748239a21c614451Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor
c093c1aed867e18aa4778708592e1ceb45d18cffTripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp this.myrect = myrect;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(SVGRectElement, myrect.get("node"));
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeDimensions()" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
c093c1aed867e18aa4778708592e1ceb45d18cffTripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("width") == "300");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("height") == "200");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeFillColor()" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("fill") == this.initialFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeFillOpacity()" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("fill-opacity") == "1");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeColor" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke") == this.initialStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeWidth" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke-width") == "1");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStroke" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke-opacity") == "1");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeDashArray" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke-dasharray") == "none");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeLineCap" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke-linecap") == "butt");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeLineJoin" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("stroke-linejoin") == "round");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeWidthAgainstShapeAttr" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("width") == this.myrect.get("width"));
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeHeightAgainstShapeAttr" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
c093c1aed867e18aa4778708592e1ceb45d18cffTripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("height") == this.myrect.get("height"));
c093c1aed867e18aa4778708592e1ceb45d18cffTripp },
c093c1aed867e18aa4778708592e1ceb45d18cffTripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeFillAgainstShapeAttr" : function()
c093c1aed867e18aa4778708592e1ceb45d18cffTripp {
c093c1aed867e18aa4778708592e1ceb45d18cffTripp var node = this.myrect.get("node"),
c093c1aed867e18aa4778708592e1ceb45d18cffTripp fill = this.myrect.get("fill"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = parseFloat(fill.opacity);
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = isNaN(opacity) ? 1 : opacity;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fill.color == node.getAttribute("fill"));
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(opacity == node.getAttribute("fill-opacity"));
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testSVGRectNodeStrokeAgainstShapeAttr" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = stroke.opacity,
7b4c159c66b840798b3abe52748239a21c614451Tripp linejoin = stroke.linejoin == undefined ? "round" : stroke.linejoin;
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = isNaN(opacity) ? 1 : opacity;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.color == node.getAttribute("stroke"));
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(linejoin == node.getAttribute("stroke-linejoin"));
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(opacity == node.getAttribute("stroke-opacity"));
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.linecap == node.getAttribute("stroke-linecap"));
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(stroke.dashstyle == node.getAttribute("stroke-dasharray"));
2b904e83040752143af70b087f637e39035bb2e6Tripp Y.assert(stroke.weight == node.getAttribute("stroke-width"));
c093c1aed867e18aa4778708592e1ceb45d18cffTripp }
c093c1aed867e18aa4778708592e1ceb45d18cffTripp});
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp//suite of vml specific tests
7b4c159c66b840798b3abe52748239a21c614451TrippvmlTests = new Y.Test.Case({
7b4c159c66b840798b3abe52748239a21c614451Tripp name: "VMLGraphicsTests",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp graphic: null,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp mycircle: null,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp myrect: null,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp myellipse: null,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp mypath: null,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp initialFillColor: "#f00",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp initialStrokeColor: "#00f",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp updatedFillColor: "#9aa",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp updatedStrokeColor: "#99a",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp dashstyle: "4 2",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp linejoin: "round",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp linecap: "butt",
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp setUp: function () {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp Y.one("body").append('<div id="testbed"></div>');
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp tearDown: function () {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp Y.one("#testbed").remove(true);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLGraphic()" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp var graphic = new Y.Graphic({render: "#graphiccontainer"});
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp graphic.on("init", function(e) {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(graphic.get("node").nodeName == "group");
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp });
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp this.graphic = graphic;
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNode()" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var myrect = this.graphic.addShape({
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp width: 300,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200,
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp stroke: {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp color: this.initialStrokeColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity: 1,
7b4c159c66b840798b3abe52748239a21c614451Tripp dashstyle: this.dashstyle.split(' '),
7b4c159c66b840798b3abe52748239a21c614451Tripp linejoin: this.linejoin,
7b4c159c66b840798b3abe52748239a21c614451Tripp linecap: this.linecap
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp });
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp this.myrect = myrect;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(myrect.get("node").nodeName == "rect");
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeDimensions()" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(Y.one(node).getComputedStyle("width") == "300px");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(Y.one(node).getComputedStyle("height") == "200px");
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeFillColor()" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp toHex = Y.Color.toHex,
7b4c159c66b840798b3abe52748239a21c614451Tripp fillMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "fill" && childNodes[i].color == this.initialFillColor)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp fillMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp if(!fillMatches)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp fillMatches = toHex(node.fillcolor) == toHex(this.initialFillColor) || toHex(node.fillcolor.value) == toHex(this.initialFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(fillMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeColor" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp toHex = Y.Color.toHex,
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && ( toHex(childNodes[i].color) == toHex(this.initialStrokeColor) || toHex(childNodes[i].color.value) == toHex(this.initialStrokeColor)))
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp if(!strokeMatches)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = toHex(node.strokecolor) == toHex(this.initialStrokeColor) || toHex(node.strokecolor.value) == toHex(this.initialStrokeColor);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeWidth" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp toHex = Y.Color.toHex,
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && childNodes[i].weight == "1")
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp if(!strokeMatches)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = node.strokeWeight;
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeOpacity" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && childNodes[i].opacity == "1")
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp if(!strokeMatches)
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = node.strokeOpacity;
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeDashArray" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && childNodes[i].dashstyle && childNodes[i].dashstyle == this.dashstyle)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeLineCap" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && childNodes[i].endcap && childNodes[i].endcap == "flat")
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeStrokeLineJoin" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = false,
7b4c159c66b840798b3abe52748239a21c614451Tripp childNodes = node.childNodes,
7b4c159c66b840798b3abe52748239a21c614451Tripp i = 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp len = childNodes ? childNodes.length : 0;
7b4c159c66b840798b3abe52748239a21c614451Tripp for(; i < len; ++i)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp if(childNodes[i] && childNodes[i].nodeName == "stroke" && childNodes[i].joinstyle && childNodes[i].joinstyle == this.linejoin)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeMatches = true;
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(strokeMatches);
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeWidthAgainstShapeAttr" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(Y.one(node).getComputedStyle("width") == this.myrect.get("width") + "px");
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp },
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeHeightAgainstShapeAttr" : function()
e7f83e93bb5c263f4c00b4a9438330da561df764Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(Y.one(node).getComputedStyle("height") == this.myrect.get("height") + "px");
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testVMLRectNodeFillAgainstShapeAttr" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp fill = this.myrect.get("fill"),
7b4c159c66b840798b3abe52748239a21c614451Tripp toHex = Y.Color.toHex;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(toHex(fill.color) == toHex(node.fillcolor));
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp});
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp//suite of canvas specific tests
7b4c159c66b840798b3abe52748239a21c614451TrippcanvasTests = new Y.Test.Case({
7b4c159c66b840798b3abe52748239a21c614451Tripp name: "CanvasGraphicsTests",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp graphic: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp mycircle: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp myrect: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp myellipse: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp mypath: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp initialFillColor: "#f00",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialFillOpacity: 0.5,
7b4c159c66b840798b3abe52748239a21c614451Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp initialStrokeColor: "#00f",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialStrokeWeight: 2,
7b4c159c66b840798b3abe52748239a21c614451Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp updatedFillColor: "#9aa",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp updatedStrokeColor: "#99a",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp width: 300,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp context: null,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp linecap: "butt",
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp TORGB: Y.Color.toRGB,
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp TOHEX: Y.Color.toHex,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp toRGBA: function(val, alpha) {
7b4c159c66b840798b3abe52748239a21c614451Tripp alpha = (alpha !== undefined) ? alpha : 1;
7b4c159c66b840798b3abe52748239a21c614451Tripp if (!Y.Color.re_RGB.test(val)) {
7b4c159c66b840798b3abe52748239a21c614451Tripp val = this.TOHEX(val);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp if(Y.Color.re_hex.exec(val)) {
7b4c159c66b840798b3abe52748239a21c614451Tripp val = 'rgba(' + [
7b4c159c66b840798b3abe52748239a21c614451Tripp parseInt(RegExp.$1, 16),
7b4c159c66b840798b3abe52748239a21c614451Tripp parseInt(RegExp.$2, 16),
7b4c159c66b840798b3abe52748239a21c614451Tripp parseInt(RegExp.$3, 16)
7b4c159c66b840798b3abe52748239a21c614451Tripp ].join(',') + ',' + alpha + ')';
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp return val;
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp setUp: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("body").append('<div id="testbed"></div>');
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp tearDown: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").remove(true);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasGraphic()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
7b4c159c66b840798b3abe52748239a21c614451Tripp var graphic = new Y.Graphic({render: "#graphiccontainer"});
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.on("init", function(e) {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(HTMLElement, graphic.get("node"));
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp this.graphic = graphic;
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNode()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node,
7b4c159c66b840798b3abe52748239a21c614451Tripp myrect = this.graphic.addShape({
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp width: this.width,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: this.height,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp fill: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialFillColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity: this.initialFillOpacity
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke: {
7b4c159c66b840798b3abe52748239a21c614451Tripp color: this.initialStrokeColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp weight: this.initialStrokeWeight
7b4c159c66b840798b3abe52748239a21c614451Tripp }
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp node = myrect.get("node");
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp this.myrect = myrect;
7b4c159c66b840798b3abe52748239a21c614451Tripp this.context = node.getContext("2d");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(HTMLCanvasElement, node);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeDimensions()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp weight = stroke.weight;
7b4c159c66b840798b3abe52748239a21c614451Tripp weight *= 2;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("width") == this.width + weight);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("height") == this.height + weight);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeFillColor()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = parseFloat(this.initialFillOpacity),
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = this.initialFillColor,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = this.context.fillStyle;
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = Y.Lang.isNumber(opacity) && opacity < 1 ? opacity : 1;
7b4c159c66b840798b3abe52748239a21c614451Tripp if(shapeFillColor.indexOf("RGBA") > -1 || shapeFillColor.indexOf("rgba") > -1)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = shapeFillColor.toLowerCase();
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = shapeFillColor.replace(/, /g, ",");
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = this.toRGBA(this.TOHEX(fillColor), opacity)
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp else
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = this.TOHEX(shapeFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = this.TOHEX(fillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(shapeFillColor == fillColor);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeFillColorAgainstAttr()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp fill = this.myrect.get("fill"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = parseFloat(fill.opacity),
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = fill.color,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = this.context.fillStyle;
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = Y.Lang.isNumber(opacity) && opacity < 1 ? opacity : 1;
7b4c159c66b840798b3abe52748239a21c614451Tripp if(shapeFillColor.indexOf("RGBA") > -1 || shapeFillColor.indexOf("rgba") > -1)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = shapeFillColor.toLowerCase();
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = shapeFillColor.replace(/, /g, ",");
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = this.toRGBA(this.TOHEX(fillColor), opacity)
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp else
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeFillColor = this.TOHEX(shapeFillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp fillColor = this.TOHEX(fillColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(shapeFillColor == fillColor);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeColor" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = parseFloat(this.initialStrokeOpacity),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.TOHEX(this.initialStrokeColor),
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = this.context.strokeStyle;
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = Y.Lang.isNumber(opacity) && opacity < 1 ? opacity : 1
7b4c159c66b840798b3abe52748239a21c614451Tripp if(shapeStrokeColor.indexOf("RGBA") > -1 || shapeStrokeColor.indexOf("rgba") > -1)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = shapeStrokeColor.toLowerCase();
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = shapeStrokeColor.replace(/, /g, ",");
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.toRGBA(this.TOHEX(strokeColor), opacity)
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp else
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = this.TOHEX(shapeStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.TOHEX(strokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(shapeStrokeColor == strokeColor);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeColorAgainstAttr()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = parseFloat(stroke.opacity),
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.TOHEX(stroke.color),
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = this.context.strokeStyle;
7b4c159c66b840798b3abe52748239a21c614451Tripp opacity = Y.Lang.isNumber(opacity) && opacity < 1 ? opacity : 1;
7b4c159c66b840798b3abe52748239a21c614451Tripp if(shapeStrokeColor.indexOf("RGBA") > -1 || shapeStrokeColor.indexOf("rgba") > -1)
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = shapeStrokeColor.toLowerCase();
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = shapeStrokeColor.replace(/, /g, ",");
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.toRGBA(this.TOHEX(strokeColor), opacity)
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp else
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeStrokeColor = this.TOHEX(shapeStrokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp strokeColor = this.TOHEX(strokeColor);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(shapeStrokeColor == strokeColor);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeWidth" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var weight = this.initialStrokeWeight,
7b4c159c66b840798b3abe52748239a21c614451Tripp shapeWeight = this.context.lineWidth;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(weight == shapeWeight);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeWidthAgainstAttr()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp weight = stroke.weight;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(weight == this.context.lineWidth);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeLineCap" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.context.lineCap == this.linecap);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeStrokeLineJoin" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.context.lineJoin == "round");
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeWidthAgainstShapeAttr" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp weight = stroke.weight || 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp width = this.myrect.get("width");
7b4c159c66b840798b3abe52748239a21c614451Tripp width += weight * 2;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("width") == width);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testCanvasRectNodeHeightAgainstShapeAttr" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var node = this.myrect.get("node"),
7b4c159c66b840798b3abe52748239a21c614451Tripp stroke = this.myrect.get("stroke"),
7b4c159c66b840798b3abe52748239a21c614451Tripp weight = stroke.weight || 0,
7b4c159c66b840798b3abe52748239a21c614451Tripp height = this.myrect.get("height");
7b4c159c66b840798b3abe52748239a21c614451Tripp height += weight * 2;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(node.getAttribute("height") == height);
7b4c159c66b840798b3abe52748239a21c614451Tripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp});
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451TripptransformTests = new Y.Test.Case({
7b4c159c66b840798b3abe52748239a21c614451Tripp name: "GraphicsTransformTests",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp myrect: null,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialFillColor: "#f00",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp initialStrokeColor: "#00f",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp defaultTransformString: "rotate(40) translate(45, 55) skew(30, 30)",
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp width: 300,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp height: 200,
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp setUp: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("body").append('<div id="testbed"></div>');
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp tearDown: function () {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").remove(true);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp },
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testGraphicInstantiation()" : function()
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
7b4c159c66b840798b3abe52748239a21c614451Tripp var graphic = new Y.Graphic({render: "#graphiccontainer"});
7b4c159c66b840798b3abe52748239a21c614451Tripp graphic.on("init", function(e) {
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.Assert.isInstanceOf(Y.Graphic, graphic);
7b4c159c66b840798b3abe52748239a21c614451Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp this.graphic = graphic;
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testTransformAttributeIntantiation()" : function()
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var rect = this.graphic.addShape({
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp type: "rect",
7b4c159c66b840798b3abe52748239a21c614451Tripp width: this.width,
7b4c159c66b840798b3abe52748239a21c614451Tripp height: this.height,
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp stroke: {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp color: this.initialStrokeColor
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp fill: {
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp color: this.initialFillColor
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp transform: this.defaultTransformString
d51d1ee45c9f8f0479d8e63f4f1589afafdd2be4Tripp });
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect = rect;
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.rect.get("transform") == this.defaultTransformString);
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testAddTransformStringAppend()" : function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp var scaleString = this.defaultTransformString + " scale(2, 2)";
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect.scale(2, 2);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(scaleString == this.rect.get("transform"));
7b4c159c66b840798b3abe52748239a21c614451Tripp },
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451Tripp "testAddTransformsAndCompareToString()": function()
7b4c159c66b840798b3abe52748239a21c614451Tripp {
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect.set("transform", "");
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.rect.get("transform") == "");
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect.translate(30, 10);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect.rotate(90);
7b4c159c66b840798b3abe52748239a21c614451Tripp this.rect.skewX(10);
7b4c159c66b840798b3abe52748239a21c614451Tripp Y.assert(this.rect.get("transform") == "translate(30, 10) rotate(90) skewX(10)");
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp }
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp}),
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp
28e8b297bc9a35b81b8507d1d11cb005703f850fTrippvisibleUpFrontTest = new Y.Test.Case({
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp name: "Test visible attribute",
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp setUp: function () {
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp Y.one("body").append('<div id="testbed"></div>');
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp Y.one("#testbed").setContent('<div style="position:absolute;top:0px;left:0px;width:500px;height:400px" id="graphiccontainer"></div>');
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp this.graphic = new Y.Graphic({render: "#graphiccontainer"});
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp this.shape = this.graphic.addShape({
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp type: "rect",
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp visible: false,
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp width: 100,
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp height: 100
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp });
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp },
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp tearDown: function () {
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp this.graphic.destroy();
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp Y.one("#testbed").remove(true);
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp },
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp "testSetVisibleUpfront()" : function()
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp {
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp var shape = this.shape,
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp node = shape.get("node");
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp Y.assert(!shape.get("visible"));
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp Y.assert(node.style.visibility == "hidden");
28e8b297bc9a35b81b8507d1d11cb005703f850fTripp }
7b4c159c66b840798b3abe52748239a21c614451Tripp});
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Trippsuite.add(graphicTests);
28e8b297bc9a35b81b8507d1d11cb005703f850fTrippsuite.add(visibleUpFrontTest);
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Trippif(ENGINE == "svg")
7b4c159c66b840798b3abe52748239a21c614451Tripp{
7b4c159c66b840798b3abe52748239a21c614451Tripp suite.add(svgTests);
7b4c159c66b840798b3abe52748239a21c614451Tripp}
7b4c159c66b840798b3abe52748239a21c614451Trippif(ENGINE == "vml")
7b4c159c66b840798b3abe52748239a21c614451Tripp{
7b4c159c66b840798b3abe52748239a21c614451Tripp suite.add(vmlTests);
7b4c159c66b840798b3abe52748239a21c614451Tripp}
7b4c159c66b840798b3abe52748239a21c614451Trippif(ENGINE == "canvas")
7b4c159c66b840798b3abe52748239a21c614451Tripp{
7b4c159c66b840798b3abe52748239a21c614451Tripp suite.add(canvasTests);
7b4c159c66b840798b3abe52748239a21c614451Tripp}
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
7b4c159c66b840798b3abe52748239a21c614451Trippsuite.add(transformTests);
7b4c159c66b840798b3abe52748239a21c614451Tripp
7b4c159c66b840798b3abe52748239a21c614451TrippY.Test.Runner.add( suite );
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp
4228965449d116d2787c15d2b39a075b37ac2fe0Tripp}, '@VERSION@' ,{requires:['graphics', 'test']});