This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
Re: New test for JEditorPane
Attached the wrong patch!
Here's the real one.
--Tony
On Thu, 2005-12-08 at 14:54 -0500, Anthony Balkissoon wrote:
> New test, and I'm submitting the classpath patch that makes us pass
> these tests.
>
> 2005-12-08 Anthony Balkissoon <abalkiss@redhat.com>
>
> * gnu/testlet/javax/swing/JEditorPane/ContentType.java: New test.
>
> --Tony
Index: gnu/testlet/javax/swing/JEditorPane/ContentType.java
===================================================================
RCS file: gnu/testlet/javax/swing/JEditorPane/ContentType.java
diff -N gnu/testlet/javax/swing/JEditorPane/ContentType.java
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/JEditorPane/ContentType.java 8 Dec 2005 19:51:39 -0000
@@ -0,0 +1,92 @@
+//Tags: JDK1.2
+
+//Copyright (C) 2005 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, Inc., 51 Franklin Street, Fifth Floor,
+//Boston, MA 02110-1301 USA.
+
+package gnu.testlet.javax.swing.JEditorPane;
+
+import gnu.testlet.Testlet;
+import gnu.testlet.TestHarness;
+import javax.swing.JEditorPane;
+import javax.swing.text.html.HTMLEditorKit;
+import javax.swing.text.rtf.RTFEditorKit;
+
+/**
+ * Tests whether a newly created JEditorPane has the proper EditorKits
+ * set up for different content types.
+ */
+public class ContentType implements Testlet {
+
+ public void test(TestHarness harness) {
+ JEditorPane pane = new JEditorPane();
+ harness.checkPoint ("Default EditorKits for content types");
+ harness.check
+ (pane.getEditorKitForContentType
+ ("text/plain").getClass().getName(),
+ "javax.swing.JEditorPane$PlainEditorKit");
+ harness.check
+ (JEditorPane.getEditorKitClassNameForContentType("text/plain"),
+ "javax.swing.JEditorPane$PlainEditorKit");
+
+ harness.check
+ (pane.getEditorKitForContentType
+ ("text/html").getClass(), HTMLEditorKit.class);
+ harness.check
+ (pane.getEditorKitForContentType
+ ("text/rtf").getClass(), RTFEditorKit.class);
+ harness.check
+ (pane.getEditorKitForContentType
+ ("application/rtf").getClass(), RTFEditorKit.class);
+
+
+ harness.checkPoint ("Registering an EditorKit for a content type");
+ harness.check
+ (pane.getEditorKitForContentType
+ ("foobar").getClass().getName(),
+ "javax.swing.JEditorPane$PlainEditorKit");
+ harness.check (JEditorPane.getEditorKitClassNameForContentType("foobar") == null);
+ harness.check
+ (JEditorPane.createEditorKitForContentType("foobar") == null);
+ JEditorPane.registerEditorKitForContentType
+ ("foobar", "javax.swing.text.html.HTMLEditorKit");
+ harness.check
+ (pane.getEditorKitForContentType("foobar").getClass(),
+ HTMLEditorKit.class);
+ harness.check
+ (JEditorPane.createEditorKitForContentType("foobar").getClass(),
+ HTMLEditorKit.class);
+
+ // Explicitly setting the EditorKit takes precedence over the
+ // registered type
+ pane.setEditorKitForContentType ("foobar", new RTFEditorKit());
+ harness.check
+ (pane.getEditorKitForContentType("foobar").getClass(),
+ RTFEditorKit.class);
+
+ // We can set the EditorKit for content types previously unintroduced
+ pane.setEditorKitForContentType ("tony", new RTFEditorKit());
+ harness.check
+ (pane.getEditorKitForContentType("tony").getClass(),
+ RTFEditorKit.class);
+ // But this only affects the instance of JEditorPane, not the class itself
+ harness.check (JEditorPane.createEditorKitForContentType("tony") == null);
+
+ }
+
+}