* FYI: Graphics2D.setTransform() test
@ 2006-06-08 14:59 David Gilbert
2006-06-13 7:38 ` Mark Wielaard
0 siblings, 1 reply; 2+ messages in thread
From: David Gilbert @ 2006-06-08 14:59 UTC (permalink / raw)
To: mauve-patches
[-- Attachment #1: Type: text/plain, Size: 309 bytes --]
This patch (committed) adds tests for the setTransform() and transform()
methods in Graphics2D:
2006-06-08 David Gilbert <david.gilbert@object-refinery.com>
* gnu/testlet/java/awt/Graphics2D/setTransform.java: New file,
* gnu/testlet/java/awt/Graphics2D/transform.java: New file.
Regards,
Dave
[-- Attachment #2: diff.txt --]
[-- Type: text/plain, Size: 5819 bytes --]
Index: gnu/testlet/java/awt/Graphics2D/setTransform.java
===================================================================
RCS file: gnu/testlet/java/awt/Graphics2D/setTransform.java
diff -N gnu/testlet/java/awt/Graphics2D/setTransform.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/awt/Graphics2D/setTransform.java 8 Jun 2006 14:51:12 -0000
@@ -0,0 +1,67 @@
+/* setTransform.java -- some checks for the setTransform() method in the
+ Graphics2D class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.2
+
+package gnu.testlet.java.awt.Graphics2D;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+
+public class setTransform implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ testBufferedImageGraphics2D(harness);
+ }
+
+ /**
+ * Checks for the Graphics2D from a BufferedImage.
+ *
+ * @param harness the test harness.
+ */
+ public void testBufferedImageGraphics2D(TestHarness harness)
+ {
+ harness.checkPoint("BufferedImage Graphics2D");
+ BufferedImage image = new BufferedImage(100, 80,
+ BufferedImage.TYPE_INT_ARGB);
+ Graphics2D g2 = image.createGraphics();
+
+ // here we check what happens to the clip shape when a transform is
+ // set...
+ harness.check(g2.getTransform(), new AffineTransform());
+ g2.setClip(1, 2, 3, 4);
+ Rectangle2D currentClip = (Rectangle2D) g2.getClip();
+ harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
+ g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0));
+ currentClip = (Rectangle2D) g2.getClip();
+ harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4));
+ g2.setTransform(new AffineTransform());
+ currentClip = (Rectangle2D) g2.getClip();
+ harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
+ }
+}
Index: gnu/testlet/java/awt/Graphics2D/transform.java
===================================================================
RCS file: gnu/testlet/java/awt/Graphics2D/transform.java
diff -N gnu/testlet/java/awt/Graphics2D/transform.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/java/awt/Graphics2D/transform.java 8 Jun 2006 14:51:12 -0000
@@ -0,0 +1,74 @@
+/* transform.java -- some checks for the transform() method in the Graphics2D
+ class.
+ Copyright (C) 2006 David Gilbert <david.gilbert@object-refinery.com>
+This file is part of Mauve.
+
+Mauve is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+Mauve is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with Mauve; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+*/
+
+// Tags: JDK1.2
+
+package gnu.testlet.java.awt.Graphics2D;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+
+import java.awt.Graphics2D;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.Rectangle2D;
+import java.awt.image.BufferedImage;
+
+public class transform implements Testlet
+{
+ public void test(TestHarness harness)
+ {
+ testBufferedImageGraphics2D(harness);
+ }
+
+ /**
+ * Checks for the Graphics2D from a BufferedImage.
+ *
+ * @param harness the test harness.
+ */
+ public void testBufferedImageGraphics2D(TestHarness harness)
+ {
+ harness.checkPoint("BufferedImage Graphics2D");
+ BufferedImage image = new BufferedImage(100, 80,
+ BufferedImage.TYPE_INT_ARGB);
+ Graphics2D g2 = image.createGraphics();
+ harness.check(g2.getTransform().isIdentity());
+ g2.setTransform(new AffineTransform(1.0, 2.0, 3.0, 4.0, 5.0, 6.0));
+ g2.transform(new AffineTransform(7.0, 8.0, 9.0, 10.0, 11.0, 12.0));
+ AffineTransform current = g2.getTransform();
+ harness.check(current.getScaleX(), 31.0);
+ harness.check(current.getScaleY(), 58.0);
+ harness.check(current.getShearX(), 39.0);
+ harness.check(current.getShearY(), 46.0);
+ harness.check(current.getTranslateX(), 52.0);
+ harness.check(current.getTranslateY(), 76.0);
+
+ // here we check what happens to the clip shape when a transform is
+ // applied...
+ g2.setTransform(new AffineTransform());
+ g2.setClip(1, 2, 3, 4);
+ Rectangle2D currentClip = (Rectangle2D) g2.getClip();
+ harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
+ g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0));
+ currentClip = (Rectangle2D) g2.getClip();
+ harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4));
+ }
+}
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: FYI: Graphics2D.setTransform() test
2006-06-08 14:59 FYI: Graphics2D.setTransform() test David Gilbert
@ 2006-06-13 7:38 ` Mark Wielaard
0 siblings, 0 replies; 2+ messages in thread
From: Mark Wielaard @ 2006-06-13 7:38 UTC (permalink / raw)
To: David Gilbert; +Cc: mauve-patches
[-- Attachment #1.1: Type: text/plain, Size: 826 bytes --]
Hi David,
On Thu, 2006-06-08 at 15:59 +0100, David Gilbert wrote:
> 2006-06-08 David Gilbert <david.gilbert@object-refinery.com>
>
> * gnu/testlet/java/awt/Graphics2D/setTransform.java: New file,
> * gnu/testlet/java/awt/Graphics2D/transform.java: New file.
I changed these slightly to prevent some class cast exceptions.
getClip() returns a Shape. And at least the GNU Classpath implementation
sometimes just returns a GeneralPath instead of a Rectangle2D, probably
a missed optimization, but I don't think it is actually wrong, even
though the tests still fail of course.
2006-06-13 Mark Wielaard <mark@klomp.org>
* gnu/testlet/java/awt/Graphics2D/setTransform.java:
getClip() returns a Shape.
* gnu/testlet/java/awt/Graphics2D/transform.java: Likewise.
Committed,
Mark
[-- Attachment #1.2: getClip-Shape.patch --]
[-- Type: text/x-patch, Size: 2552 bytes --]
Index: gnu/testlet/java/awt/Graphics2D/setTransform.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Graphics2D/setTransform.java,v
retrieving revision 1.1
diff -u -r1.1 setTransform.java
--- gnu/testlet/java/awt/Graphics2D/setTransform.java 8 Jun 2006 14:57:19 -0000 1.1
+++ gnu/testlet/java/awt/Graphics2D/setTransform.java 13 Jun 2006 07:37:27 -0000
@@ -28,6 +28,7 @@
import gnu.testlet.Testlet;
import java.awt.Graphics2D;
+import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
@@ -55,13 +56,13 @@
// set...
harness.check(g2.getTransform(), new AffineTransform());
g2.setClip(1, 2, 3, 4);
- Rectangle2D currentClip = (Rectangle2D) g2.getClip();
+ Shape currentClip = g2.getClip();
harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0));
- currentClip = (Rectangle2D) g2.getClip();
+ currentClip = g2.getClip();
harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4));
g2.setTransform(new AffineTransform());
- currentClip = (Rectangle2D) g2.getClip();
+ currentClip = g2.getClip();
harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
}
}
Index: gnu/testlet/java/awt/Graphics2D/transform.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/java/awt/Graphics2D/transform.java,v
retrieving revision 1.1
diff -u -r1.1 transform.java
--- gnu/testlet/java/awt/Graphics2D/transform.java 8 Jun 2006 14:57:19 -0000 1.1
+++ gnu/testlet/java/awt/Graphics2D/transform.java 13 Jun 2006 07:37:27 -0000
@@ -28,6 +28,7 @@
import gnu.testlet.Testlet;
import java.awt.Graphics2D;
+import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
@@ -65,10 +66,10 @@
// applied...
g2.setTransform(new AffineTransform());
g2.setClip(1, 2, 3, 4);
- Rectangle2D currentClip = (Rectangle2D) g2.getClip();
+ Shape currentClip = g2.getClip();
harness.check(currentClip, new Rectangle2D.Double(1, 2, 3, 4));
g2.transform(AffineTransform.getTranslateInstance(10.0, 20.0));
- currentClip = (Rectangle2D) g2.getClip();
+ currentClip = g2.getClip();
harness.check(currentClip, new Rectangle2D.Double(-9, -18, 3, 4));
}
}
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-06-13 7:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-06-08 14:59 FYI: Graphics2D.setTransform() test David Gilbert
2006-06-13 7:38 ` Mark Wielaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).