You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ml...@apache.org on 2006/10/20 13:42:43 UTC
svn commit: r466074 - in
/incubator/harmony/enhanced/classlib/trunk/modules/awt/src:
main/java/common/java/awt/Font.java
test/api/java/common/java/awt/FontTest.java
Author: mloenko
Date: Fri Oct 20 04:42:42 2006
New Revision: 466074
URL: http://svn.apache.org/viewvc?view=rev&rev=466074
Log:
minor fixes for Font:
HARMONY-1543: awt.Font.getFamily(Locale) with null Locale returns family on Harmony and throws NPE on RI
HARMONY-1546: java.awt.Font.getFont() with null system property parameter throws NPE on RI while doesn't on Harmony.
HARMONY-1549: java.awt.Font.getMaxCharBounds() with null FontRenderContext returns bounds on Harmony and throws NPE on RI
Modified:
incubator/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java
incubator/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java
Modified: incubator/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java?view=diff&rev=466074&r1=466073&r2=466074
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/awt/src/main/java/common/java/awt/Font.java Fri Oct 20 04:42:42 2006
@@ -561,7 +561,12 @@
public String getFamily(Locale l) {
- FontPeerImpl peer = (FontPeerImpl)this.getPeer();
+ if (l == null) {
+ throw new NullPointerException(Messages.getString(
+ "awt.01", "Locale")); //$NON-NLS-1$
+ }
+
+ FontPeerImpl peer = (FontPeerImpl) this.getPeer();
return peer.getFamily(l);
}
@@ -575,12 +580,8 @@
}
public static Font getFont(String sp, Font f) {
- String pr = null;
- try {
- pr = System.getProperty(sp);
- } catch (Exception e){
- }
- if (pr == null){
+ String pr = System.getProperty(sp);
+ if (pr == null) {
return f;
}
return decode(pr);
@@ -601,14 +602,13 @@
return peer.getFontName(l);
}
- public LineMetrics getLineMetrics(char[] chars, int start,
- int end, FontRenderContext frc) {
-
- if (frc == null){
+ public LineMetrics getLineMetrics(char[] chars, int start, int end,
+ FontRenderContext frc) {
+ if (frc == null) {
throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
}
- FontPeerImpl peer = (FontPeerImpl)this.getPeer();
+ FontPeerImpl peer = (FontPeerImpl) this.getPeer();
return peer.getLineMetrics((new String(chars)).substring(start, end),
frc, this.getTransform());
@@ -752,6 +752,10 @@
}
public Rectangle2D getMaxCharBounds(FontRenderContext frc) {
+ if (frc == null){
+ throw new NullPointerException(Messages.getString("awt.00")); //$NON-NLS-1$
+ }
+
FontPeerImpl peer = (FontPeerImpl)this.getPeer();
Rectangle2D bounds = peer.getMaxCharBounds(frc);
Modified: incubator/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java?view=diff&rev=466074&r1=466073&r2=466074
==============================================================================
--- incubator/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java (original)
+++ incubator/harmony/enhanced/classlib/trunk/modules/awt/src/test/api/java/common/java/awt/FontTest.java Fri Oct 20 04:42:42 2006
@@ -19,51 +19,94 @@
import java.awt.font.TextAttribute;
import java.text.AttributedString;
+import java.util.Collections;
+import java.util.Map;
import junit.framework.TestCase;
public class FontTest extends TestCase {
private final Font f = new Font("dialog", Font.PLAIN, 12);
-
+
/**
- * Checks Font.getLineMetrics() methods if FontRenderContext parameter is NULL.
- *
+ * Checks Font.getLineMetrics() methods if FontRenderContext parameter is
+ * NULL.
+ *
*/
- public void test_Font_getLineMetrics_WithNullFRC(){
- // // regression test for Harmony-1465
+ public void test_Font_getLineMetrics_WithNullFRC() {
+ // Regression for Harmony-1465
final String str = "test";
- try{
+ try {
f.getLineMetrics(str, null);
fail("NullPointerException expected but wasn't thrown!");
- }catch (NullPointerException e) {
+ } catch (NullPointerException e) {
// as expected
}
- try{
+ try {
f.getLineMetrics(str, 1, 3, null);
fail("NullPointerException expected but wasn't thrown!");
- }catch (NullPointerException e) {
+ } catch (NullPointerException e) {
// as expected
}
- try{
+ try {
f.getLineMetrics(str.toCharArray(), 1, 3, null);
fail("NullPointerException expected but wasn't thrown!");
- }catch (NullPointerException e) {
+ } catch (NullPointerException e) {
// as expected
}
- try{
+ try {
AttributedString as = new AttributedString("test");
- as.addAttribute(TextAttribute.FONT, f, 0, 2 );
+ as.addAttribute(TextAttribute.FONT, f, 0, 2);
f.getLineMetrics(as.getIterator(), 1, 3, null);
fail("NullPointerException expected but wasn't thrown!");
- }catch (NullPointerException e) {
+ } catch (NullPointerException e) {
// as expected
}
-
}
-
+
+ public void test_Font_getMaxCharBounds_WithNullFRC() {
+ // Regression for HARMONY-1549
+ try {
+ Font font = Font.decode("dialog");
+ System.out.println(font.getMaxCharBounds(null));
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ }
+
+ public void test_Font_getFamily_WithNullLocale() {
+ // Regression for Harmony-1543
+ try {
+ Font fnt = Font
+ .getFont((Map<? extends TextAttribute, ?>) Collections.EMPTY_MAP);
+ fnt.getFamily(null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+ }
+
+ public void test_Font_getFont_WithNullSystemProperty() {
+ // Regression for HARMONY-1546
+ try {
+ Font.getFont((String) null);
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ try {
+ Font.getFont((String) null, new Font("dialog", Font.PLAIN, 12));
+ fail("NullPointerException expected!");
+ } catch (NullPointerException e) {
+ // expected
+ }
+
+ }
}