Index: modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/CompoundNameTest.java =================================================================== --- modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/CompoundNameTest.java (revision 490073) +++ modules/jndi/src/test/java/org/apache/harmony/jndi/tests/javax/naming/CompoundNameTest.java (working copy) @@ -1095,6 +1095,14 @@ assertNameEquals(name, "a", "'/'"); name.add("'c"); assertNameEquals(name, "a", "'/'", "'c"); + + name = new CompoundName("a", new Properties()); + try { + name.add("b"); + fail("InvalidNameException expected"); + } catch (InvalidNameException e) { + //expected + } } public void testAdd_Null() throws InvalidNameException { @@ -1104,10 +1112,18 @@ name = new CompoundName("", props); try { name.add(null); - fail("InvalidNameException expected"); - } catch (InvalidNameException e) { + fail("IllegalArgumentException expected"); + } catch (IllegalArgumentException e) { //expected } + + name = new CompoundName("", new Properties()); + try { + name.add(null); + fail("IllegalArgumentException expected"); + } catch (IllegalArgumentException e) { + //expected + } } public void testAdd_Indexed() throws InvalidNameException { @@ -1126,12 +1142,34 @@ name.addAll(-1, new CompoundName("d", props)); fail(); } catch (ArrayIndexOutOfBoundsException e) { + //expected } try { name.addAll(5, new CompoundName("d", props)); fail(); } catch (ArrayIndexOutOfBoundsException e) { + //expected } + + name = new CompoundName("a", new Properties()); + try { + name.add(0, "b"); + fail("InvalidNameException expected"); + } catch (InvalidNameException e) { + //expected + } + try { + name.add(1, "b"); + fail("InvalidNameException expected"); + } catch (InvalidNameException e) { + //expected + } + try { + name.add(-1, "b"); + fail("InvalidNameException expected"); + } catch (InvalidNameException e) { + //expected + } } public void testAdd_Indexed_Null() throws InvalidNameException { @@ -1141,8 +1179,8 @@ name = new CompoundName("", props); try { name.add(0, null); - fail("InvalidNameException expected"); - } catch (InvalidNameException e) { + fail("IllegalArgumentException expected"); + } catch (IllegalArgumentException e) { //expected } @@ -1150,10 +1188,18 @@ name = new CompoundName("", props); try { name.add(11, null); - fail("InvalidNameException expected"); - } catch (InvalidNameException e) { + fail("IllegalArgumentException expected"); + } catch (IllegalArgumentException e) { //expected } + + name = new CompoundName("", new Properties()); + try { + name.add(0, null); + fail("IllegalArgumentException expected"); + } catch (IllegalArgumentException e) { + //expected + } } public void testRemove() throws InvalidNameException {