You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by rp...@apache.org on 2020/04/30 21:59:30 UTC

[groovy] 01/06: GROOVY-9528: add test

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 <pa...@asert.com.au>
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()