This is the mail archive of the mauve-patches@sourceware.org mailing list for the Mauve project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

FYI: Moving some previously GNU Classpath specific tests into javax.swing.text namespace


Some HTML parser tests are already passing with the Sun's parser implementation as well. In the past, this was not the case and this is why these tests were stored in Mauve separately as "GNU Classpath specific stuff". As they now pass with Sun's library, there is no longer any need for this. I have moved them to the standard HTML parser test location.

2007-01-01 Audrius Meskauskas <AudriusA@Bioinformatics.org>

* gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java,
gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java,
gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java,
gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java: Removed.
gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java,
gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java,
gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java,
gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java: New files.


### Eclipse Workspace Patch 1.0
#P mauve
Index: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java
===================================================================
RCS file: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java
diff -N gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java
--- gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/Text.java	19 Jan 2006 16:34:58 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,156 +0,0 @@
-// Tags: JDK1.2 GNU
-
-// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
-
-// 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.gnu.javax.swing.text.html.parser.support.Parser;
-
-import gnu.testlet.TestHarness;
-import gnu.testlet.Testlet;
-
-import javax.swing.text.MutableAttributeSet;
-import javax.swing.text.html.HTML;
-
-/**
- * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
- */
-public class Text
-  extends TestCase
-  implements Testlet
-{
-  public void test(TestHarness harness)
-  {
-    h = harness;
-    try
-      {
-        testTextParsing();
-      }
-    catch (Exception ex)
-      {
-        ex.printStackTrace();
-        harness.fail("Exception: " + ex);
-      }
-  }
-
-  public void testTextParsing()
-                       throws Exception
-  {
-    Parser_Test v =
-      new Parser_Test()
-      {
-        public void handleSimpleTag(HTML.Tag tag,
-                                    MutableAttributeSet attributes, int position
-                                   )
-        {
-          if (!tag.toString().equalsIgnoreCase("#pcdata"))
-            out.append("<" + tag + ">");
-        }
-
-        public void handleStartTag(HTML.Tag tag,
-                                   MutableAttributeSet attributes, int position
-                                  )
-        {
-          out.append("<" + tag + ">");
-        }
-
-        public void handleText(char[] chars, int position)
-        {
-          for (int i = 0; i < chars.length; i++)
-            {
-              out.append(Integer.toHexString(chars [ i ]));
-              if (chars [ i ] > ' ')
-                out.append("'" + chars [ i ]);
-              out.append(" ");
-            }
-        }
-
-        public void handleEndTag(HTML.Tag tag, int position)
-        {
-          out.append("</" + tag + ">");
-        }
-      };
-
-    v.hideImplied = true;
-
-    // NON - preformatted mode:
-    // Everything mutates into spaces, multiple spaces mustates
-    // into single one, all whitespace around tags is consumed.
-    v.verify("\r \n \t {abc      r\rn\nt}\t \r\n \r \t",
-             "<html><head></head><body>7b'{ 61'a 62'b 63'c 20 72'r 20" +
-             " 6e'n 20 74't 7d'} </body></html>"
-            );
-
-    v.verify("   abba   ",
-             "<html><head></head><body>61'a 62'b 62'b 61'a </body></html>"
-            );
-
-    v.verify("  \r ab  \t \r \n  ba   ",
-             "<html><head></head><body>61'a 62'b 20 62'b 61'a </body></html>"
-            );
-
-    // Preformatted mode (in PRE tag):
-    // Heading/closing spaces and tabs preserve. ONE  \r, \n or \r\n is removed.
-    // /r mutates into \n
-    v.verify("<pre>\n\n\n\n   abba   \r\t \r\n</pre>",
-             "<html><head></head><body><pre>a a a 20 20 20 61'a 62'b 62'b" +
-             " 61'a 20 20 20 a 9 20 </pre></body></html>"
-            );
-
-    v.verify("<pre>   abba   </pre>",
-             "<html><head></head><body><pre>20 20 20 61'a 62'b 62'b 61'a 20 " +
-             "20 20 </pre></body></html>"
-            );
-
-    v.verify("<pre>\r\n   abba   </pre>",
-             "<html><head></head><body><pre>20 20 20 61'a 62'b 62'b 61'a 20 " +
-             "20 20 </pre></body></html>"
-            );
-
-    v.verify("<pre>\r\n\r\n   abba   \r\n</pre>",
-             "<html><head></head><body><pre>a 20 20 20 61'a 62'b 62'b 61'a 20 20" +
-             " 20 </pre></body></html>"
-            );
-
-    v.verify("<pre> \r ab  \t \r \n  ba   </pre>",
-             "<html><head></head><body><pre>20 a 20 61'a 62'b 20 20 9 20 a" +
-             " 20 a 20 20 62'b 61'a 20 20 20 </pre></body></html>"
-            );
-
-    v.verify("<pre> \r\n ab  \t \r\n \n  ba   </pre>",
-             "<html><head></head><body><pre>20 a 20 61'a 62'b 20 20 9 20 a" +
-             " 20 a 20 20 62'b 61'a 20 20 20 </pre></body></html>"
-            );
-
-    // In TEXTAREA tag, same.
-    v.verify("<textarea>\n\n\n\n   abba \r\n</textarea>",
-             "<html><head></head><body><textarea>a a a 20 20 20 61'a " +
-             "62'b 62'b 61'a 20 </textarea></body></html>"
-            );
-
-    v.verify("<textarea>   abba   </textarea>",
-             "<html><head></head><body><textarea>20 20 20 61'a 62'b 62'b 61'a 20 " +
-             "20 20 </textarea></body></html>"
-            );
-
-    v.verify("<textarea> \r ab  \t \r \n  ba   </textarea>",
-             "<html><head></head><body><textarea>20 a 20 61'a 62'b 20 20 9 20 a" +
-             " 20 a 20 20 62'b 61'a 20 20 20 </textarea></body></html>"
-            );
-  }
-}
Index: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java
===================================================================
RCS file: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java
diff -N gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java
--- gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/AttributeList_test.java	19 Jan 2006 16:34:58 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,62 +0,0 @@
-// Tags: JDK1.2 GNU
-
-// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
-
-// 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.gnu.javax.swing.text.html.parser.support.Parser;
-
-import gnu.testlet.TestHarness;
-import gnu.testlet.Testlet;
-
-import javax.swing.text.html.parser.AttributeList;
-
-/**
- * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
- */
-public class AttributeList_test
-  extends TestCase
-  implements Testlet
-{
-  private AttributeList attributeList = null;
-
-  public void test(TestHarness harness)
-  {
-    h = harness;
-    testSame();
-  }
-
-  public void testSame()
-  {
-    for (int i = 0; i < 100; i++)
-      {
-        String t = AttributeList.type2name(i);
-        if (t != null)
-          assertEquals(i, AttributeList.name2type(t));
-      }
-  }
-
-  protected void setUp()
-                throws Exception
-  {
-    super.setUp();
-    attributeList = new AttributeList("ku");
-    assertEquals(attributeList.toString(), "ku");
-  }
-}
Index: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java
===================================================================
RCS file: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java
diff -N gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java
--- gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/TagElement_Test.java	19 Jan 2006 16:34:58 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,89 +0,0 @@
-// Tags: JDK1.2 GNU
-
-// Copyright (C) 2005 Audrius Meskauskas <audriusa@bluewin.ch>
-
-// 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.gnu.javax.swing.text.html.parser.support.Parser;
-
-import gnu.testlet.TestHarness;
-import gnu.testlet.Testlet;
-
-import javax.swing.text.html.HTML;
-import javax.swing.text.html.parser.DTD;
-import javax.swing.text.html.parser.Element;
-import javax.swing.text.html.parser.TagElement;
-
-/**
- * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
- */
-public class TagElement_Test
-  extends TestCase
-  implements Testlet
-{
-  public void test(TestHarness harness)
-  {
-    h = harness;
-    try
-      {
-        testTagElement();
-      }
-    catch (Exception ex)
-      {
-        ex.printStackTrace();
-        harness.fail("Exception: " + ex);
-      }
-  }
-
-  public void testTagElement()
-                      throws Exception
-  {
-    HTML.Tag[] tags = HTML.getAllTags();
-
-    for (int i = 0; i < tags.length; i++)
-      {
-        HTML.Tag t = tags [ i ];
-        String tn = t.toString();
-        Element e = DTD.getDTD("test").getElement("e");
-        e.name = tn;
-
-        TagElement te = new TagElement(e, true);
-        assertTrue(" must be fictional", te.fictional());
-
-        te = new TagElement(e);
-        assertFalse("must be non fictional", te.fictional());
-
-        assertEquals(te.getHTMLTag().toString(), t.toString());
-        assertEquals(t.breaksFlow(), te.breaksFlow());
-        assertEquals(t.isPreformatted(), te.isPreformatted());
-      }
-  }
-
-  protected void setUp()
-                throws Exception
-  {
-    super.setUp();
-  }
-
-  protected void tearDown()
-                   throws Exception
-  {
-    super.tearDown();
-  }
-}
Index: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java
===================================================================
RCS file: gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java
diff -N gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java
--- gnu/testlet/gnu/javax/swing/text/html/parser/support/Parser/DTD_test.java	19 Jan 2006 16:34:58 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,96 +0,0 @@
-// Tags: JDK1.2 GNU
-
-// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
-
-// 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.gnu.javax.swing.text.html.parser.support.Parser;
-
-import gnu.testlet.TestHarness;
-import gnu.testlet.Testlet;
-
-import javax.swing.text.html.HTML;
-import javax.swing.text.html.parser.DTD;
-import javax.swing.text.html.parser.Element;
-
-/**
- * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
- */
-public class DTD_test
-  extends TestCase
-  implements Testlet
-{
-  static class D
-    extends DTD
-  {
-    public D()
-    {
-      super("audrius");
-    }
-
-    public Element createElement(String n)
-    {
-      return getElement(n);
-    }
-  }
-
-  public void test(TestHarness harness)
-  {
-    h = harness;
-    testGetElement();
-  }
-
-  public void testGetElement()
-  {
-    D d = new D();
-    HTML.Tag[] tags = HTML.getAllTags();
-
-    Element prehead = d.createElement("head");
-
-    for (int i = 0; i < tags.length; i++)
-      {
-        Element e = d.createElement(tags [ i ].toString());
-        String name = tags [ i ].toString();
-        assertNotNull("Element creation", e);
-        assertTrue("Element name", e.getName().equalsIgnoreCase(name));
-      }
-
-    // Test upper/lowercase
-    Element e = d.createElement("head");
-
-    assertNotNull("Element creation", e);
-    assertTrue("Element name", e.getName().equalsIgnoreCase("head"));
-    assertEquals(HTML.Tag.HEAD, HTML.getTag(e.name));
-    assertEquals("Field assignment", d.head, e);
-
-    assertEquals(prehead, e);
-  }
-
-  protected void setUp()
-                throws Exception
-  {
-    super.setUp();
-  }
-
-  protected void tearDown()
-                   throws Exception
-  {
-    super.tearDown();
-  }
-}
Index: gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java
===================================================================
RCS file: gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java
diff -N gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/text/html/parser/TagElement/TagElementTest2.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,90 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005 Audrius Meskauskas <audriusa@bluewin.ch>
+
+// 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.text.html.parser.TagElement;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase;
+
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.parser.DTD;
+import javax.swing.text.html.parser.Element;
+import javax.swing.text.html.parser.TagElement;
+
+/**
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public class TagElementTest2
+  extends TestCase
+  implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    h = harness;
+    try
+      {
+        testTagElement();
+      }
+    catch (Exception ex)
+      {
+        ex.printStackTrace();
+        harness.fail("Exception: " + ex);
+      }
+  }
+
+  public void testTagElement()
+                      throws Exception
+  {
+    HTML.Tag[] tags = HTML.getAllTags();
+
+    for (int i = 0; i < tags.length; i++)
+      {
+        HTML.Tag t = tags [ i ];
+        String tn = t.toString();
+        Element e = DTD.getDTD("test").getElement("e");
+        e.name = tn;
+
+        TagElement te = new TagElement(e, true);
+        assertTrue(" must be fictional", te.fictional());
+
+        te = new TagElement(e);
+        assertFalse("must be non fictional", te.fictional());
+
+        assertEquals(te.getHTMLTag().toString(), t.toString());
+        assertEquals(t.breaksFlow(), te.breaksFlow());
+        assertEquals(t.isPreformatted(), te.isPreformatted());
+      }
+  }
+
+  protected void setUp()
+                throws Exception
+  {
+    super.setUp();
+  }
+
+  protected void tearDown()
+                   throws Exception
+  {
+    super.tearDown();
+  }
+}
Index: gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java
===================================================================
RCS file: gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java
diff -N gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/text/html/parser/AttributeList/AttributeListTest2.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,63 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
+
+// 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.text.html.parser.AttributeList;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase;
+
+import javax.swing.text.html.parser.AttributeList;
+
+/**
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public class AttributeListTest2
+  extends TestCase
+  implements Testlet
+{
+  private AttributeList attributeList = null;
+
+  public void test(TestHarness harness)
+  {
+    h = harness;
+    testSame();
+  }
+
+  public void testSame()
+  {
+    for (int i = 0; i < 100; i++)
+      {
+        String t = AttributeList.type2name(i);
+        if (t != null)
+          assertEquals(i, AttributeList.name2type(t));
+      }
+  }
+
+  protected void setUp()
+                throws Exception
+  {
+    super.setUp();
+    attributeList = new AttributeList("ku");
+    assertEquals(attributeList.toString(), "ku");
+  }
+}
Index: gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java
===================================================================
RCS file: gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java
diff -N gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/text/html/parser/ParserDelegator/Text2.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,158 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
+
+// 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.text.html.parser.ParserDelegator;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.Parser_Test;
+import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase;
+
+import javax.swing.text.MutableAttributeSet;
+import javax.swing.text.html.HTML;
+
+/**
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public class Text2
+  extends TestCase
+  implements Testlet
+{
+  public void test(TestHarness harness)
+  {
+    h = harness;
+    try
+      {
+        testTextParsing();
+      }
+    catch (Exception ex)
+      {
+        ex.printStackTrace();
+        harness.fail("Exception: " + ex);
+      }
+  }
+
+  public void testTextParsing()
+                       throws Exception
+  {
+    Parser_Test v =
+      new Parser_Test()
+      {
+        public void handleSimpleTag(HTML.Tag tag,
+                                    MutableAttributeSet attributes, int position
+                                   )
+        {
+          if (!tag.toString().equalsIgnoreCase("#pcdata"))
+            out.append("<" + tag + ">");
+        }
+
+        public void handleStartTag(HTML.Tag tag,
+                                   MutableAttributeSet attributes, int position
+                                  )
+        {
+          out.append("<" + tag + ">");
+        }
+
+        public void handleText(char[] chars, int position)
+        {
+          for (int i = 0; i < chars.length; i++)
+            {
+              out.append(Integer.toHexString(chars [ i ]));
+              if (chars [ i ] > ' ')
+                out.append("'" + chars [ i ]);
+              out.append(" ");
+            }
+        }
+
+        public void handleEndTag(HTML.Tag tag, int position)
+        {
+          out.append("</" + tag + ">");
+        }
+      };
+
+    v.hideImplied = true;
+
+    // NON - preformatted mode:
+    // Everything mutates into spaces, multiple spaces mustates
+    // into single one, all whitespace around tags is consumed.
+    v.verify("\r \n \t {abc      r\rn\nt}\t \r\n \r \t",
+             "<html><head></head><body>7b'{ 61'a 62'b 63'c 20 72'r 20" +
+             " 6e'n 20 74't 7d'} </body></html>"
+            );
+
+    v.verify("   abba   ",
+             "<html><head></head><body>61'a 62'b 62'b 61'a </body></html>"
+            );
+
+    v.verify("  \r ab  \t \r \n  ba   ",
+             "<html><head></head><body>61'a 62'b 20 62'b 61'a </body></html>"
+            );
+
+    // Preformatted mode (in PRE tag):
+    // Heading/closing spaces and tabs preserve. ONE  \r, \n or \r\n is removed.
+    // /r mutates into \n
+    v.verify("<pre>\n\n\n\n   abba   \r\t \r\n</pre>",
+             "<html><head></head><body><pre>a a a 20 20 20 61'a 62'b 62'b" +
+             " 61'a 20 20 20 a 9 20 </pre></body></html>"
+            );
+
+    v.verify("<pre>   abba   </pre>",
+             "<html><head></head><body><pre>20 20 20 61'a 62'b 62'b 61'a 20 " +
+             "20 20 </pre></body></html>"
+            );
+
+    v.verify("<pre>\r\n   abba   </pre>",
+             "<html><head></head><body><pre>20 20 20 61'a 62'b 62'b 61'a 20 " +
+             "20 20 </pre></body></html>"
+            );
+
+    v.verify("<pre>\r\n\r\n   abba   \r\n</pre>",
+             "<html><head></head><body><pre>a 20 20 20 61'a 62'b 62'b 61'a 20 20" +
+             " 20 </pre></body></html>"
+            );
+
+    v.verify("<pre> \r ab  \t \r \n  ba   </pre>",
+             "<html><head></head><body><pre>20 a 20 61'a 62'b 20 20 9 20 a" +
+             " 20 a 20 20 62'b 61'a 20 20 20 </pre></body></html>"
+            );
+
+    v.verify("<pre> \r\n ab  \t \r\n \n  ba   </pre>",
+             "<html><head></head><body><pre>20 a 20 61'a 62'b 20 20 9 20 a" +
+             " 20 a 20 20 62'b 61'a 20 20 20 </pre></body></html>"
+            );
+
+    // In TEXTAREA tag, same.
+    v.verify("<textarea>\n\n\n\n   abba \r\n</textarea>",
+             "<html><head></head><body><textarea>a a a 20 20 20 61'a " +
+             "62'b 62'b 61'a 20 </textarea></body></html>"
+            );
+
+    v.verify("<textarea>   abba   </textarea>",
+             "<html><head></head><body><textarea>20 20 20 61'a 62'b 62'b 61'a 20 " +
+             "20 20 </textarea></body></html>"
+            );
+
+    v.verify("<textarea> \r ab  \t \r \n  ba   </textarea>",
+             "<html><head></head><body><textarea>20 a 20 61'a 62'b 20 20 9 20 a" +
+             " 20 a 20 20 62'b 61'a 20 20 20 </textarea></body></html>"
+            );
+  }
+}
Index: gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java
===================================================================
RCS file: gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java
diff -N gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ gnu/testlet/javax/swing/text/html/parser/DTD/DtdTest2.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,97 @@
+// Tags: JDK1.2
+
+// Copyright (C) 2005, 2006 Audrius Meskauskas <audriusa@bluewin.ch>
+
+// 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.text.html.parser.DTD;
+
+import gnu.testlet.TestHarness;
+import gnu.testlet.Testlet;
+import gnu.testlet.gnu.javax.swing.text.html.parser.support.Parser.TestCase;
+
+import javax.swing.text.html.HTML;
+import javax.swing.text.html.parser.DTD;
+import javax.swing.text.html.parser.Element;
+
+/**
+ * @author Audrius Meskauskas (AudriusA@Bioinformatics.org)
+ */
+public class DtdTest2
+  extends TestCase
+  implements Testlet
+{
+  static class D
+    extends DTD
+  {
+    public D()
+    {
+      super("audrius");
+    }
+
+    public Element createElement(String n)
+    {
+      return getElement(n);
+    }
+  }
+
+  public void test(TestHarness harness)
+  {
+    h = harness;
+    testGetElement();
+  }
+
+  public void testGetElement()
+  {
+    D d = new D();
+    HTML.Tag[] tags = HTML.getAllTags();
+
+    Element prehead = d.createElement("head");
+
+    for (int i = 0; i < tags.length; i++)
+      {
+        Element e = d.createElement(tags [ i ].toString());
+        String name = tags [ i ].toString();
+        assertNotNull("Element creation", e);
+        assertTrue("Element name", e.getName().equalsIgnoreCase(name));
+      }
+
+    // Test upper/lowercase
+    Element e = d.createElement("head");
+
+    assertNotNull("Element creation", e);
+    assertTrue("Element name", e.getName().equalsIgnoreCase("head"));
+    assertEquals(HTML.Tag.HEAD, HTML.getTag(e.name));
+    assertEquals("Field assignment", d.head, e);
+
+    assertEquals(prehead, e);
+  }
+
+  protected void setUp()
+                throws Exception
+  {
+    super.setUp();
+  }
+
+  protected void tearDown()
+                   throws Exception
+  {
+    super.tearDown();
+  }
+}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]