diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java index f02012eb5..983603623 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ConfigTest.java @@ -292,6 +292,25 @@ public class ConfigTest { assertSame(TestEnum.ONE_TWO, c.getEnum("s", "b", "c", TestEnum.ONE_TWO)); } + @Test + public void testGetInvalidEnum() throws ConfigInvalidException { + Config c = parse("[a]\n\tb = invalid\n"); + try { + c.getEnum("a", null, "b", TestEnum.ONE_TWO); + fail(); + } catch (IllegalArgumentException e) { + assertEquals("Invalid value: a.b=invalid", e.getMessage()); + } + + c = parse("[a \"b\"]\n\tc = invalid\n"); + try { + c.getEnum("a", "b", "c", TestEnum.ONE_TWO); + fail(); + } catch (IllegalArgumentException e) { + assertEquals("Invalid value: a.b.c=invalid", e.getMessage()); + } + } + @Test public void testSetEnum() { final Config c = new Config(); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java index 348e1175d..fb78d0eff 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/Config.java @@ -412,11 +412,13 @@ public class Config { } if (subsection != null) - throw new IllegalArgumentException(MessageFormat.format(JGitText - .get().enumValueNotSupported3, section, name, value)); + throw new IllegalArgumentException(MessageFormat.format( + JGitText.get().enumValueNotSupported3, section, subsection, + name, value)); else - throw new IllegalArgumentException(MessageFormat.format(JGitText - .get().enumValueNotSupported2, section, name, value)); + throw new IllegalArgumentException( + MessageFormat.format(JGitText.get().enumValueNotSupported2, + section, name, value)); } /**