You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2006/12/18 16:02:15 UTC
svn commit: r488295 - in /harmony/enhanced/classlib/trunk/modules/awt/src:
main/java/common/java/awt/Font.java
test/api/java/common/java/awt/FontTest.java
Author: apetrenko
Date: Mon Dec 18 07:02:15 2006
New Revision: 488295
URL: http://svn.apache.org/viewvc?view=rev&rev=488295
Log:
Patch for HARMONY-1595 "[classlib][awt]Compatibility: java.awt.Font.getStringBounds() methods for null FontRenderContext returns bounds on Harmony and throws NPE on RI"
Modified:
harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java
harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java?view=diff&rev=488295&r1=488294&r2=488295
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java Mon Dec 18 07:02:15 2006
@@ -681,6 +681,10 @@
(end - start)));
}
+ if (frc == null) {
+ throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
+ }
+
chars = new char[end - start];
ci.setIndex(start);
@@ -719,6 +723,10 @@
// awt.97=Wrong range length: {0}
throw new IndexOutOfBoundsException(Messages.getString("awt.97", //$NON-NLS-1$
(end - start)));
+ }
+
+ if (frc == null) {
+ throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
}
FontPeerImpl peer = (FontPeerImpl) this.getPeer();
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java?view=diff&rev=488295&r1=488294&r2=488295
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java Mon Dec 18 07:02:15 2006
@@ -21,6 +21,7 @@
import java.awt.font.TextAttribute;
import java.text.AttributedString;
import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
import java.text.AttributedCharacterIterator.Attribute;
import java.util.Collections;
@@ -142,4 +143,44 @@
// expected
}
}
+
+ /**
+ * Checks Font.getStringBounds() methods if FontRenderContext parameter is NULL.
+ *
+ */
+ public void test_Font_getStringBounds_WithNullFRC() {
+ // regression test for Harmony-1595
+ Font font = Font.decode("Arial");
+ try {
+ font.getStringBounds(new char[] { 'a' }, 0, 1,
+ (FontRenderContext) null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ try {
+ font.getStringBounds(new StringCharacterIterator("a"), 0, 1,
+ (FontRenderContext) null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ String str = "str";
+ try {
+ font.getStringBounds(str, 0, 1, (FontRenderContext) null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ try {
+ font.getStringBounds(str, (FontRenderContext) null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+ }
+
}