This is an automated email from the ASF dual-hosted git repository. rpopma pushed a commit to branch GROOVY_2_5_X in repository https://gitbox.apache.org/repos/asf/groovy.git
commit c9be9f17fcb821f05c540d858c2f53ed42a433a2 Author: Paul King <[email protected]> AuthorDate: Thu Apr 30 21:35:30 2020 +1000 GROOVY-9528: add test --- .../src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy b/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy index 9a0273d..a0024ca 100644 --- a/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy +++ b/subprojects/groovy-cli-picocli/src/test/groovy/groovy/cli/picocli/CliBuilderTest.groovy @@ -557,6 +557,17 @@ class CliBuilderTest extends GroovyTestCase { assert options.arguments() == ['foo'] } + // GROOVY-9528 + void testRequiredParamsWithUnknownArgumentLikeParams() { + def cli = new CliBuilder() + cli.parser.stopAtPositional(false) + cli.parser.unmatchedOptionsArePositionalParams(true) + cli.a(type: String, longOpt: 'optA', required: true, args: 1, 'Option a (required)') + cli.c(type: String, longOpt: 'optC', required: true, args: 1, 'Option c (required)') + def opts = cli.parse('-a A -b B -c C'.split(' ')) + assert opts.arguments() == ['-b', 'B'] + } + interface PersonI { @Option String first() @Option String last()
