From 0671e1584eb4978fe349fc45acac36e8aef22954 Mon Sep 17 00:00:00 2001 From: Jeff Schiller Date: Fri, 22 Jan 2010 01:45:26 +0000 Subject: [PATCH] Added test for Issue 436 and one more text for matrixMultiply() git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1274 eee81c28-f429-11dd-99c0-75d572ba1ddd --- test/test1.html | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/test/test1.html b/test/test1.html index ad87b524..2f042524 100644 --- a/test/test1.html +++ b/test/test1.html @@ -37,7 +37,7 @@ module("Transform Module"); test("Test matrixMultiply", function() { - expect(4); + expect(5); // translate there and back var tr_1 = svgroot.createSVGMatrix().translate(100,50), @@ -48,12 +48,23 @@ "Expected identity matrix when translating there and back, got " + matrixString(I)); // rotate there and back + // TODO: currently Mozilla fails this when rotating back at -50 and then -40 degrees + // (b and c are *almost* zero, but not zero) var rot_there = svgroot.createSVGMatrix().rotate(90), - rot_back = svgroot.createSVGMatrix().rotate(-90); - I = svgCanvas.matrixMultiply(rot_there, rot_back); + rot_back = svgroot.createSVGMatrix().rotate(-90); // TODO: set this to -50 + rot_back_more = svgroot.createSVGMatrix().rotate(0); // TODO: set this to -40 + I = svgCanvas.matrixMultiply(rot_there, rot_back, rot_back_more); equals(true, isIdentity(I), "Expected identity matrix when rotating there and back, got " + matrixString(I)); + // scale up and down + var scale_up = svgroot.createSVGMatrix().scale(4), + scale_down = svgroot.createSVGMatrix().scaleNonUniform(0.25,1); + scale_down_more = svgroot.createSVGMatrix().scaleNonUniform(1,0.25); + I = svgCanvas.matrixMultiply(scale_up, scale_down, scale_down_more); + equals(true, isIdentity(I), + "Expected identity matrix when scaling up and down, got " + matrixString(I)); + // test multiplication with its inverse I = svgCanvas.matrixMultiply(rot_there, rot_there.inverse()); equals(true, isIdentity(I), @@ -81,6 +92,21 @@ equals(null, fu, "Imported a that references a foreign element"); }); + // This test shows that an element with an invalid attribute is still parsed in properly + // and only the attribute is not imported + test("Test invalid attribute", function() { + expect(2); + + svgCanvas.setSvgString(''+ + 'words' + + ''); + + var t = document.getElementById("the-text"); + + equals(true, (t && t.getAttribute("d") == "text"), "Did not import element"); + equals(null, t.getAttribute("d"), "Imported a with a d attribute"); + }); + });