This is the mail archive of the
mauve-patches@sourceware.org
mailing list for the Mauve project.
Re: Patch: ElementBuffer test
On Mon, 2006-01-16 at 19:47 +0100, Mark Wielaard wrote:
> Hi Lilian,
>
> On Mon, 2006-01-16 at 10:54 -0500, Lillian Angel wrote:
> > +
> > +// Tags: FIXME
> > +
>
> FIXME?
Whoops! Fixed.
thanks!2006-01-16 Lillian Angel <langel@redhat.com>
*
gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java:
Fixed Tags, removed FIXME.
? frozen_serial
? out.txt
Index: ChangeLog
===================================================================
RCS file: /cvs/mauve/mauve/ChangeLog,v
retrieving revision 1.1352
diff -u -r1.1352 ChangeLog
--- ChangeLog 16 Jan 2006 18:20:06 -0000 1.1352
+++ ChangeLog 16 Jan 2006 18:50:35 -0000
@@ -1,6 +1,11 @@
2006-01-16 Lillian Angel <langel@redhat.com>
* gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java:
+ Fixed Tags, removed FIXME.
+
+2006-01-16 Lillian Angel <langel@redhat.com>
+
+ * gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java:
Added new checks.
2006-01-16 Lillian Angel <langel@redhat.com>
Index: batch_run
===================================================================
RCS file: /cvs/mauve/mauve/batch_run,v
retrieving revision 1.18
diff -u -r1.18 batch_run
--- batch_run 21 Dec 2005 15:07:19 -0000 1.18
+++ batch_run 16 Jan 2006 18:50:35 -0000
@@ -37,7 +37,7 @@
fi
if test "x$CLASSPATHBCP" = "x"; then
-CLASSPATHBCP="/usr/local/classpath/share/classpath/glibj.zip"
+CLASSPATHBCP="/home/langel/sources/classpath/install/share/classpath"
fi
if test "x$COMPILER" = "x"; then
Index: .externalToolBuilders/MauveTestlet.launch
===================================================================
RCS file: /cvs/mauve/mauve/.externalToolBuilders/MauveTestlet.launch,v
retrieving revision 1.1
diff -u -r1.1 MauveTestlet.launch
--- .externalToolBuilders/MauveTestlet.launch 1 Jan 2006 20:26:40 -0000 1.1
+++ .externalToolBuilders/MauveTestlet.launch 16 Jan 2006 18:50:35 -0000
@@ -1,2 +1,11 @@
-<?xml version='1.0'?>
-<launchConfiguration type='org.eclipse.jdt.launching.localJavaApplication'><stringAttribute key='org.eclipse.jdt.launching.VM_INSTALL_NAME' value='classpath'/><stringAttribute key='org.eclipse.jdt.launching.PROGRAM_ARGUMENTS' value='${java_type_name}'/><stringAttribute key='org.eclipse.jdt.launching.VM_INSTALL_TYPE_ID' value='org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType'/><listAttribute key='org.eclipse.debug.ui.favoriteGroups'><listEntry value='org.eclipse.debug.ui.launchGroup.debug'/><listEntry value='org.eclipse.debug.ui.launchGroup.run'/></listAttribute><booleanAttribute key='org.eclipse.debug.core.appendEnvironmentVariables' value='true'/><stringAttribute key='org.eclipse.jdt.launching.MAIN_TYPE' value='gnu.testlet.SingleTestHarness'/><stringAttribute key='org.eclipse.jdt.launching.PROJECT_ATTR' value='mauve'/></launchConfiguration>
+<?xml version="1.0" encoding="UTF-8"?>
+<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="gnu.testlet.SingleTestHarness"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${java_type_name}"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="mauve"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
+</launchConfiguration>
Index: gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java,v
retrieving revision 1.1
diff -u -r1.1 ElementStructure4.java
--- gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java 4 Jan 2006 16:32:46 -0000 1.1
+++ gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure4.java 16 Jan 2006 18:50:39 -0000
@@ -21,6 +21,8 @@
package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer;
+import javax.swing.text.AttributeSet;
+import javax.swing.text.AbstractDocument;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.BadLocationException;
import javax.swing.text.Element;
@@ -32,6 +34,64 @@
public class ElementStructure4 implements Testlet
{
+ static class TestDocument extends DefaultStyledDocument
+ {
+ /**
+ * Overridden to provide public access.
+ *
+ * @param offset the offset at which to insert the data
+ * @param data the data spec to insert
+ */
+ public void insertString(int offset, String text, AttributeSet attributes)
+ throws BadLocationException
+ {
+ try
+ {
+ super.insertString(offset, text, attributes);
+ }
+ catch (BadLocationException e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ // Prints some spaces
+ void pad(int pad)
+ {
+ for (int i = 0; i < pad; i++)
+ System.out.print(" ");
+ }
+
+ // Displays the Element hierarchy starting with <code>start</code>
+ void printElements (Element start, int pad)
+ {
+ pad(pad);
+ if (pad == 0)
+ System.out.println ("ROOT ELEMENT ("+start.getStartOffset()+", "
+ + start.getEndOffset()+")");
+ else if (start instanceof AbstractDocument.BranchElement)
+ System.out.println ("BranchElement ("+start.getStartOffset()+", "
+ + start.getEndOffset()+")");
+ else
+ {
+ try
+ {
+ System.out.println ("LeafElement ("+start.getStartOffset()+", "
+ + start.getEndOffset()+"): "+
+ start.getDocument().
+ getText(start.getStartOffset(),
+ start.getEndOffset() -
+ start.getStartOffset()));
+ }
+ catch (BadLocationException ble)
+ {
+ }
+ }
+ for (int i = 0; i < start.getElementCount(); i ++)
+ printElements (start.getElement(i), pad+3);
+ }
+ }
+
/**
* Starts the test run.
*
@@ -41,13 +101,16 @@
{
try
{
- DefaultStyledDocument doc = new DefaultStyledDocument();
+ TestDocument doc = new TestDocument();
SimpleAttributeSet atts = new SimpleAttributeSet();
Element root = doc.getDefaultRootElement();
// Add strike trough text.
atts.addAttribute(StyleConstants.StrikeThrough, Boolean.TRUE);
+ System.out.println("INSERTED AT 0: *******************************************");
doc.insertString(0, "Strike through text.\n", atts);
+ doc.printElements(root, 0);
+
atts.removeAttributes(atts);
harness.check(root.getElementCount() == 2);
harness.check(root.getElement(0).getStartOffset() == 0);
@@ -57,10 +120,14 @@
// Add plain text in front.
+ System.out.println("INSERTED a: *******************************************");
doc.insertString(0, "a", null);
+ doc.printElements(root, 0);
harness.check(root.getElement(0).getElementCount() == 2);
harness.check(root.getElement(1).getElementCount() == 1);
doc.insertString(1, "b", null);
+ System.out.println("INSERTED b: *******************************************");
+ doc.printElements(root, 0);
harness.check(root.getElement(0).getElementCount() == 2);
harness.check(root.getElement(1).getElementCount() == 1);
Index: gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java,v
retrieving revision 1.1
diff -u -r1.1 ElementStructure6.java
--- gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java 5 Jan 2006 19:32:51 -0000 1.1
+++ gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure6.java 16 Jan 2006 18:50:39 -0000
@@ -71,7 +71,7 @@
AbstractDocument.DefaultDocumentEvent de)
{
h2.check(docEvent.getChange(getDefaultRootElement()) == null);
- super.insert(offset, length, data, de);
+ super.insert(offset, length, data, docEvent);
h2.check(docEvent.getChange(getDefaultRootElement()) != null);
}
}
@@ -89,7 +89,7 @@
{
docEvent = chng;
h2.check(docEvent.getChange(getDefaultRootElement()) == null);
- super.insertUpdate (chng, attr);
+ super.insertUpdate (docEvent, attr);
h2.check(docEvent.getChange(getDefaultRootElement()) != null);
}
}
Index: gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java,v
retrieving revision 1.3
diff -u -r1.3 ElementStructure7.java
--- gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java 12 Jan 2006 16:49:26 -0000 1.3
+++ gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure7.java 16 Jan 2006 18:50:39 -0000
@@ -57,6 +57,10 @@
{
h2.debug(ex);
}
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
static class StyledDocument2 extends DefaultStyledDocument
Index: gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java,v
retrieving revision 1.4
diff -u -r1.4 ElementStructure8.java
--- gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java 16 Jan 2006 18:42:57 -0000 1.4
+++ gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/ElementStructure8.java 16 Jan 2006 18:50:39 -0000
@@ -19,7 +19,7 @@
*/
-// Tags: FIXME
+// Tags: JDK1.4
package gnu.testlet.javax.swing.text.DefaultStyledDocument.ElementBuffer;
Index: gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java,v
retrieving revision 1.3
diff -u -r1.3 insert.java
--- gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java 23 Nov 2005 13:59:55 -0000 1.3
+++ gnu/testlet/javax/swing/text/DefaultStyledDocument/ElementBuffer/insert.java 16 Jan 2006 18:50:39 -0000
@@ -25,6 +25,7 @@
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
+import javax.swing.text.AbstractDocument;
import javax.swing.text.BadLocationException;
import javax.swing.text.DefaultStyledDocument;
import javax.swing.text.Element;
@@ -77,6 +78,43 @@
throw new RuntimeException(e);
}
}
+
+ // Prints some spaces
+ void pad(int pad)
+ {
+ for (int i = 0; i < pad; i++)
+ System.out.print(" ");
+ }
+
+ // Displays the Element hierarchy starting with <code>start</code>
+ void printElements (Element start, int pad)
+ {
+ pad(pad);
+ if (pad == 0)
+ System.out.println ("ROOT ELEMENT ("+start.getStartOffset()+", "
+ + start.getEndOffset()+")");
+ else if (start instanceof AbstractDocument.BranchElement)
+ System.out.println ("BranchElement ("+start.getStartOffset()+", "
+ + start.getEndOffset()+")");
+ else
+ {
+ try
+ {
+ System.out.println ("LeafElement ("+start.getStartOffset()+", "
+ + start.getEndOffset()+"): "+
+ start.getDocument().
+ getText(start.getStartOffset(),
+ start.getEndOffset() -
+ start.getStartOffset()));
+ }
+ catch (BadLocationException ble)
+ {
+ }
+ }
+ for (int i = 0; i < start.getElementCount(); i ++)
+ printElements (start.getElement(i), pad+3);
+ }
+
}
/**
@@ -728,9 +766,14 @@
TestDocument.ElementSpec[] specs = new TestDocument.ElementSpec[]{ spec };
+ Element root = doc.getDefaultRootElement();
// Create the precondition, two elements [Hello], one at 0 and one at 5.
+ System.out.println("INSERTED AT 0: *******************************************");
doc.insert(0, specs);
+ doc.printElements(root, 0);
+ System.out.println("INSERTED AT 5: *******************************************");
doc.insert(5, specs);
+ doc.printElements(root, 0);
// Now check what comes out when we insert one element at 7.
TestDocument.ElementSpec spec1 = new TestDocument.ElementSpec(atts,
@@ -739,26 +782,30 @@
documentEvent = null;
try
{
+ System.out.println("INSERT AT 7: ******************************************");
doc.insert(7, specs);
h.fail("EmptyStackException must be thrown");
}
catch (EmptyStackException ex)
{
+ System.out.println("EmptyStackException caught");
+ doc.printElements(root, 0);
h.check(true);
}
// We have one paragraph in the root element.
- Element root = doc.getDefaultRootElement();
h.check(root.getElementCount(), 1);
// We should now have 3 children in the paragraph.
Element par = root.getElement(0);
h.check(par.getElementCount(), 3);
Element el1 = par.getElement(0);
+ System.out.println("el1.getStartOffset() == " + el1.getStartOffset());
h.check(el1.getStartOffset(), 0);
h.check(el1.getEndOffset(), 5);
Element el2 = par.getElement(1);
h.check(el2.getStartOffset(), 5);
+ System.out.println("el2.getEndOffset() == " + el2.getEndOffset());
h.check(el2.getEndOffset(), 15);
Element el3 = par.getElement(2);
h.check(el3.getStartOffset(), 15);