You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by hi...@apache.org on 2007/01/17 09:21:37 UTC
svn commit: r496958 - in /harmony/enhanced/classlib/trunk/modules/swing/src:
main/java/common/javax/swing/text/ test/api/java/common/javax/swing/text/
Author: hindessm
Date: Wed Jan 17 00:21:35 2007
New Revision: 496958
URL: http://svn.apache.org/viewvc?view=rev&rev=496958
Log:
Applying patches from "[#HARMONY-2777] [classlib][swing]
j.s.text.AbstractDocument.BranchElement.get{Start, End}Offset throw
ArrayIndexOutOfBoundsException rather than NPE" (again). Included the
additional fix to AbstractDocumentTest.java.
Modified:
harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/AbstractDocument.java
harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocumentTest.java
harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocument_BranchElementTest.java
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/AbstractDocument.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/AbstractDocument.java?view=diff&rev=496958&r1=496957&r2=496958
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/AbstractDocument.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/AbstractDocument.java Wed Jan 17 00:21:35 2007
@@ -401,6 +401,9 @@
@Override
public int getEndOffset() {
+ if (elements.length == 0) {
+ throw new NullPointerException();
+ }
return elements[elements.length - 1].getEndOffset();
}
@@ -412,6 +415,9 @@
@Override
public int getStartOffset() {
+ if (elements.length == 0) {
+ throw new NullPointerException();
+ }
return elements[0].getStartOffset();
}
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocumentTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocumentTest.java?view=diff&rev=496958&r1=496957&r2=496958
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocumentTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocumentTest.java Wed Jan 17 00:21:35 2007
@@ -159,33 +159,20 @@
assertNull(branch.getElement(0));
assertNull(branch.getElement(1));
assertEquals(0, branch.getElementCount());
+
// Since this branch element has no children yet, it has no start and
// end offsets. Thus calling get{Start,End}Offset on an empty branch
// element causes the exception being thrown.
- if (BasicSwingTestCase.isHarmony()) {
- // Our implementation
- try {
- assertEquals(0, branch.getStartOffset());
- fail("getStartOffset on an empty BranchElement " + "causes exception");
- } catch (ArrayIndexOutOfBoundsException e) {
- }
- try {
- assertEquals(1, branch.getEndOffset());
- fail("getEndOffset on an empty BranchElement causes exception");
- } catch (ArrayIndexOutOfBoundsException e) {
- }
- } else {
- // Reference implementation
- try {
- assertEquals(0, branch.getStartOffset());
- fail("getStartOffset on an empty BranchElement " + "causes exception");
- } catch (NullPointerException e) {
- }
- try {
- assertEquals(1, branch.getEndOffset());
- fail("getEndOffset on an empty BranchElement causes exception");
- } catch (ArrayIndexOutOfBoundsException e) {
- }
+ try {
+ assertEquals(0, branch.getStartOffset());
+ fail("getStartOffset is expected to throw NullPointerException");
+ } catch (NullPointerException e) {
+ }
+
+ try {
+ assertEquals(1, branch.getEndOffset());
+ fail("getEndOffset is expected to throw NullPointerException");
+ } catch (NullPointerException e) {
}
}
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocument_BranchElementTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocument_BranchElementTest.java?view=diff&rev=496958&r1=496957&r2=496958
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocument_BranchElementTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/test/api/java/common/javax/swing/text/AbstractDocument_BranchElementTest.java Wed Jan 17 00:21:35 2007
@@ -243,9 +243,31 @@
assertEquals(0, par.getStartOffset());
}
+ // Regression for HARMONY-2777
+ public void testGetStartOffsetNoChildren() {
+ par = doc.new BranchElement(null, null);
+ try {
+ par.getStartOffset();
+ fail("NullPointerException is expected");
+ } catch (NullPointerException e) {
+ // expected
+ }
+ }
+
public void testGetEndOffset() {
assertEquals(15, bidi.getEndOffset());
assertEquals(15, par.getEndOffset());
+ }
+
+ // Regression for HARMONY-2777
+ public void testGetEndOffsetNoChildren() {
+ par = doc.new BranchElement(null, null);
+ try {
+ par.getEndOffset();
+ fail("NullPointerException is expected");
+ } catch (NullPointerException e) {
+ // expected
+ }
}
public void testGetElementCount() {