From: Tomasz Zarna Date: Mon, 10 Dec 2012 10:20:06 +0000 (+0100) Subject: Return info about config subsection when trying to get an invalid enum X-Git-Tag: v2.3.0.201302060400-rc1~40 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fchanges%2F33%2F9133%2F2;p=jgit.git Return info about config subsection when trying to get an invalid enum Change-Id: Id4a72a68bdbd485619f4801683d38ad98f9841a2 --- 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 f02012eb5a..9836036237 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 348e1175d9..fb78d0efff 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)); } /**