* FYI: new JFrame test
@ 2006-02-23 3:05 Thomas Fitzsimmons
0 siblings, 0 replies; only message in thread
From: Thomas Fitzsimmons @ 2006-02-23 3:05 UTC (permalink / raw)
To: mauve-discuss
[-- Attachment #1: Type: text/plain, Size: 183 bytes --]
Hi,
I committed this heavyweight-in-JFrame test.
Tom
2006-02-22 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/testlet/javax/swing/JFrame/HeavyweightComponent.java: New
test.
[-- Attachment #2: mauve-jframe-heavyweight.patch --]
[-- Type: text/x-patch, Size: 3050 bytes --]
Index: HeavyweightComponent.java
===================================================================
RCS file: HeavyweightComponent.java
diff -N HeavyweightComponent.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ HeavyweightComponent.java 23 Feb 2006 02:59:34 -0000
@@ -0,0 +1,91 @@
+// Tags: JDK1.2 GUI
+
+// Copyright (C) 2006 Red Hat
+
+// 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, 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+package gnu.testlet.javax.swing.JFrame;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import gnu.testlet.java.awt.LocationTests;
+
+import javax.swing.JFrame;
+import javax.swing.JComponent;
+import java.awt.*;
+import java.util.Vector;
+
+/**
+ * These tests pass with the Sun JDK 1.4.2_05 on GNU/Linux IA-32.
+ */
+public class HeavyweightComponent implements Testlet {
+
+ // Tests that a heavyweight component is drawn at the correct location
+ // within a JFrame.
+ public void test(TestHarness harness) {
+ int outer_width = 100;
+ int outer_height = 100;
+ int inner_width = 0;
+ int inner_height = 0;
+
+ Robot r = harness.createRobot();
+
+ JFrame f = new JFrame();
+ f.setLayout(null);
+ Canvas c = new Canvas() {
+ public void paint(Graphics g) {
+ Rectangle r = getBounds();
+ g.setColor(Color.red);
+ // Subtract 1 from width and height since Graphics methods take
+ // *co-ordinates* as arguments, not widths and heights.
+ g.drawRect(r.x, r.y, r.width - 1, r.height - 1);
+ }
+ };
+ f.setSize(outer_width, outer_height);
+ f.add(c);
+ f.show();
+
+ // Wait for native frame to be fully displayed.
+ r.waitForIdle();
+ r.delay(1000);
+
+ Insets i = f.getInsets();
+ // Calculate area inside window frame.
+ inner_width = outer_width - i.left - i.right;
+ inner_height = outer_height - i.top - i.bottom;
+
+ c.setBounds(0, 0, inner_width, inner_height);
+
+ // bounds of red rectangle (1 pixel wide border)
+ Point loc = f.getLocationOnScreen();
+ Rectangle bounds = new Rectangle(loc.x + i.left, loc.y + i.top,
+ inner_width, inner_height);
+
+ // Wait for Canvas to paint itself.
+ r.waitForIdle();
+ r.delay(1000);
+
+ // Check that the Canvas fills the entire JFrame, within the JFrame's
+ // window frame.
+ LocationTests.checkRectangleCornerColors(harness, r, bounds, Color.red,
+ true);
+
+ // There is a delay so the tester can see the result.
+ r.delay(3000);
+ }
+}
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2006-02-23 3:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-02-23 3:05 FYI: new JFrame test Thomas Fitzsimmons
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).