Index: modules/text/src/main/java/java/text/BreakIterator.java =================================================================== --- modules/text/src/main/java/java/text/BreakIterator.java.orig 2006-03-28 19:38:56.000000000 +0100 +++ modules/text/src/main/java/java/text/BreakIterator.java 2006-03-28 20:00:02.000000000 +0100 @@ -128,6 +128,9 @@ * given locale. */ public static BreakIterator getCharacterInstance(Locale where) { + if (where == null) + throw new NullPointerException(); + return new RuleBasedBreakIterator(com.ibm.icu.text.BreakIterator .getCharacterInstance(where)); } @@ -154,6 +157,9 @@ * given locale. */ public static BreakIterator getLineInstance(Locale where) { + if (where == null) + throw new NullPointerException(); + return new RuleBasedBreakIterator(com.ibm.icu.text.BreakIterator .getLineInstance(where)); } @@ -180,6 +186,9 @@ * using given locale. */ public static BreakIterator getSentenceInstance(Locale where) { + if (where == null) + throw new NullPointerException(); + return new RuleBasedBreakIterator(com.ibm.icu.text.BreakIterator .getSentenceInstance(where)); } @@ -206,6 +215,9 @@ * given locale. */ public static BreakIterator getWordInstance(Locale where) { + if (where == null) + throw new NullPointerException(); + return new RuleBasedBreakIterator(com.ibm.icu.text.BreakIterator .getWordInstance(where)); } Index: modules/text/src/test/java/tests/api/java/text/BreakIteratorTest.java =================================================================== --- modules/text/src/test/java/tests/api/java/text/BreakIteratorTest.java.orig 2006-03-28 19:38:56.000000000 +0100 +++ modules/text/src/test/java/tests/api/java/text/BreakIteratorTest.java 2006-03-28 20:02:32.000000000 +0100 @@ -288,4 +288,48 @@ assertEquals(it, iterator.getText()); } + /** + * @tests java.text.BreakIterator#getCharacterInstance(Locale) + */ + public void testGetCharacterInstanceLocale_NPE() { + // Regression for HARMONY-265 + try { + BreakIterator i = BreakIterator.getCharacterInstance(null); + fail("BreakIterator.getCharacterInstance(null); should throw NullPointerException"); + } catch (Exception e) { + assertEquals("java.lang.NullPointerException", + e.getClass().getName()); + } + } + + public void testGetLineInstanceLocale_NPE() { + try { + BreakIterator i = BreakIterator.getLineInstance(null); + fail("BreakIterator.getLineInstance(null); should throw NullPointerException"); + } catch (Exception e) { + assertEquals("java.lang.NullPointerException", + e.getClass().getName()); + } + } + + public void testGetSentenceInstanceLocale_NPE() { + try { + BreakIterator i = BreakIterator.getSentenceInstance(null); + fail("BreakIterator.getSentenceInstance(null); should throw NullPointerException"); + } catch (Exception e) { + assertEquals("java.lang.NullPointerException", + e.getClass().getName()); + } + } + + public void testGetWordInstanceLocale_NPE() { + try { + BreakIterator i = BreakIterator.getWordInstance(null); + fail("BreakIterator.getWordInstance(null); should throw NullPointerException"); + } catch (Exception e) { + assertEquals("java.lang.NullPointerException", + e.getClass().getName()); + } + } + }