?? clibuildertest.groovy
字號(hào):
class CliBuilderTest extends GroovyTestCase { void testSample() { def writer = new StringWriter() def cli = new CliBuilder(usage:'groovy [option]* filename', writer: new PrintWriter(writer)) cli.h(longOpt: 'help', 'usage information') cli.c(argName: 'charset', args:1, longOpt: 'encoding', 'character encoding') cli.i(argName: 'extension', optionalArg: true, "modify files in place, create backup if extension is given (e.g. \'.bak\')") def stringified = cli.options.toString() assert stringified =~ /i=. option: i :: modify files in place, create backup if extension is given/ assert stringified =~ /c=. option: c encoding :: character encoding/ assert stringified =~ /h=. option: h help :: usage information/ assert stringified =~ /encoding=. option: c encoding :: character encoding/ assert stringified =~ /help=. option: h help :: usage information/ def options = cli.parse(['-h','-c','ASCII']) assert options.hasOption('h') assert options.h if (options.h) cli.usage() assert writer.toString().tokenize("\r\n").join("\n") =='''usage: groovy [option]* filename -c,--encoding <charset> character encoding -h,--help usage information -i modify files in place, create backup if extension is given (e.g. '.bak')''' assert options.hasOption('c') assert options.c assertEquals 'ASCII', options.getOptionValue('c') assertEquals 'ASCII', options.c assertEquals false, options.encoding assertEquals false, options.noSuchOptionGiven assertEquals false, options.x } void testMultipleArgs() { def cli = new CliBuilder() cli.a(longOpt:'arg', args:2, valueSeparator:',' as char, 'arguments') def options = cli.parse(['-a','1,2']) assertEquals '1', options.a assertEquals(['1','2'], options.as) assertEquals false, options.arg assertEquals(false, options.args) } void testArgs() { def cli = new CliBuilder() cli.a([:],'') def options = cli.parse(['-a','1','2']) assertEquals(['1','2'], options.arguments()) } void testFailedParsePrintsUsage() { def writer = new StringWriter() def cli = new CliBuilder(writer: new PrintWriter(writer)) cli.x(required:true, 'message') def options = cli.parse([]) assert writer.toString().tokenize("\r\n").join("\n") =='''error: -xusage: groovy -x message''' }}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -