From 6042bd8cb366854e8b491b760836a13c97ddc754 Mon Sep 17 00:00:00 2001 From: Remko Popma Date: Mon, 13 Jul 2020 07:22:39 +0900 Subject: [PATCH] [#1125] added test for option param matching subcmd name --- .../java/picocli/UnmatchedOptionTest.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/test/java/picocli/UnmatchedOptionTest.java b/src/test/java/picocli/UnmatchedOptionTest.java index 3a64a925f..e7a93e933 100644 --- a/src/test/java/picocli/UnmatchedOptionTest.java +++ b/src/test/java/picocli/UnmatchedOptionTest.java @@ -1,14 +1,17 @@ package picocli; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import org.junit.contrib.java.lang.system.ProvideSystemProperty; import org.junit.contrib.java.lang.system.RestoreSystemProperties; import org.junit.rules.TestRule; +import picocli.CommandLine.Command; import picocli.CommandLine.MissingParameterException; import picocli.CommandLine.Option; import picocli.CommandLine.OverwrittenOptionException; import picocli.CommandLine.Parameters; +import picocli.CommandLine.ParseResult; import picocli.CommandLine.UnmatchedArgumentException; import java.util.Arrays; @@ -580,4 +583,21 @@ class App { assertEquals("-2", app.x); assertEquals(Arrays.asList("-3", "-0", "-0.0", "-NaN"), app.y); } + + @Ignore("#1125") + @Test // https://github.com/remkop/picocli/issues/1125 + public void testSubcommandAsOptionValue() { + @Command(name = "app") + class App { + @Option(names = "-x") String x; + + @Command + public int search() { + return 123; + } + } + ParseResult parseResult = new CommandLine(new App()).parseArgs("-x", "search", "search"); + assertEquals("search", parseResult.matchedOptionValue("-x", null)); + assertTrue(parseResult.hasSubcommand()); + } }