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]

Re: FYI: GapContent test fix


Hi Roman,

The API docs describe the first parameter (where) as:

|"where| - the starting position >= 0, < length()"

...and in this particular test I've used length(), so I'd expect the BadLocationException to be thrown. To back this up further, the exact same test on StringContent *does* throw the exception. I didn't hear back from Sun yet on the bug report (apart from the automated response), but I do expect that they'll accept it and fix it eventually.

Anyway, I'll let you know when I hear from them.

Regards,

Dave


Roman Kennke wrote:


In the test for GapContent.insertString() we have tested the insertion of
a string at the index after the last character. There was a comment in
it saying that it is a bug in the JDK to not throw a
BadLocationException. However, AFAICS this is not the case. Suppose you
have the following content:

ABCDEFG

and now call GapContent.insertString(7, "XYZ"), then this will (quite
logically IMO) append this:

ABCDEFGXYZ

There is no need to throw a BadLocationException here. What might have
caused confusion here is the fact that the GapContent usually has a
trailing \n character, and normal insertion from an AbstractDocument
never inserts after the \n, but this is an implementation detail of the
document and not GapContent.

I checked in the appended patch to fix this problem.

2006-02-02 Roman Kennke <kennke@aicas.com>

       * gnu/testlet/javax/swing/text/GapContent/insertString.java
       (testGeneral): Fixed boundary case to pass with the JDK.

/Roman


------------------------------------------------------------------------

Index: gnu/testlet/javax/swing/text/GapContent/insertString.java
===================================================================
RCS file: /cvs/mauve/mauve/gnu/testlet/javax/swing/text/GapContent/insertString.java,v
retrieving revision 1.3
diff -u -r1.3 insertString.java
--- gnu/testlet/javax/swing/text/GapContent/insertString.java 24 Jan 2006 17:18:56 -0000 1.3
+++ gnu/testlet/javax/swing/text/GapContent/insertString.java 2 Feb 2006 10:44:05 -0000
@@ -215,19 +215,17 @@
}
harness.check(gc.length(), 7);
- // insert at index of last character + 1 - the API docs say this should
- // raise a BadLocationException, but JDK1.5.0_06 doesn't (I reported this
- // to Sun as a bug in their implementation, will add a bug ID if one is assigned)
- pass = false;
+ // Insert at index of last character + 1. This appends the new string to
+ // the existing string.
try
{
gc.insertString(7, "XYZ");
}
catch (BadLocationException e)
{
- pass = true;
+ pass = false;
}
- harness.check(pass);
+ harness.check(gc.length(), 10);


// insert at index of last character + 2 pass = false;




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