[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Mauve status
From: |
Mark Wielaard |
Subject: |
Re: Mauve status |
Date: |
Sun, 04 Sep 2005 13:50:41 +0200 |
Hi Roman,
On Sun, 2005-09-04 at 11:42 +0200, Roman Kennke wrote:
> > > +FAIL:
> > > gnu.testlet.javax.swing.text.AbstractDocument.AbstractDocumentTest:
> > > uncaught exception at "testCreateLeafElement" number 1:
> > > java.lang.NullPointerException
> >
> > This one can be trivially fixed by the attached patch that allows a null
> > parent for createLeafElement(). But I haven't actually studied if this
> > is the correct behavior.
> >
> > Roman, could you take a look at this?
>
> If the testcase confirms that the parent is allowed to be null, then
> this is ok. I can have a deeper look at this tomorrow.
We allowed it in the past and it masks some other tests (since now the
first test in the batch throws a NullPointerException). But I think it
is a bit of a corner case. All other tests also PASS with this. I have
applied it as follows:
2005-09-04 Mark Wielaard <address@hidden>
* (LeafElement.LeafElement): Set startPos and endPos through
createPosition() if parent is null.
But feel free to revert that if further studies indicate that this is
not the optimal solution.
Cheers,
Mark
Index: javax/swing/text/AbstractDocument.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/AbstractDocument.java,v
retrieving revision 1.26
diff -u -r1.26 AbstractDocument.java
--- javax/swing/text/AbstractDocument.java 29 Aug 2005 17:02:02 -0000
1.26
+++ javax/swing/text/AbstractDocument.java 2 Sep 2005 11:59:10 -0000
@@ -1864,16 +1864,30 @@
int end)
{
super(parent, attributes);
- try
{
- startPos = parent.getDocument().createPosition(start);
- endPos = parent.getDocument().createPosition(end);
- }
- catch (BadLocationException ex)
- {
- throw new AssertionError("BadLocationException must not be thrown "
- + "here. start=" + start + ", end=" + end
- + ", length=" + getLength());
+ try
+ {
+ if (parent != null)
+ {
+ startPos = parent.getDocument().createPosition(start);
+ endPos = parent.getDocument().createPosition(end);
+ }
+ else
+ {
+ startPos = createPosition(start);
+ endPos = createPosition(end);
+ }
+ }
+ catch (BadLocationException ex)
+ {
+ AssertionError as;
+ as = new AssertionError("BadLocationException thrown "
+ + "here. start=" + start
+ + ", end=" + end
+ + ", length=" + getLength());
+ as.initCause(ex);
+ throw as;
+ }
}
}
signature.asc
Description: This is a digitally signed message part