diff options
author | Jakob Odersky <jakob@odersky.com> | 2018-04-29 17:59:47 -0700 |
---|---|---|
committer | Jakob Odersky <jakob@odersky.com> | 2018-04-29 17:59:47 -0700 |
commit | eef44a276ace54ef0b215c1c4b045afde40daf5b (patch) | |
tree | 83bc5aa811492ee8cb8ad6ec05258904d9a3d49d /src/test | |
parent | 4562b1b5754f4b840016be345eb6ee92f5abf258 (diff) | |
download | commando-eef44a276ace54ef0b215c1c4b045afde40daf5b.tar.gz commando-eef44a276ace54ef0b215c1c4b045afde40daf5b.tar.bz2 commando-eef44a276ace54ef0b215c1c4b045afde40daf5b.zip |
Specify action inline with command
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/scala/CmdTest.scala.disabled (renamed from src/test/scala/CmdTest.scala) | 6 | ||||
-rw-r--r-- | src/test/scala/ParserTest.scala | 27 |
2 files changed, 30 insertions, 3 deletions
diff --git a/src/test/scala/CmdTest.scala b/src/test/scala/CmdTest.scala.disabled index f78611d..d943a79 100644 --- a/src/test/scala/CmdTest.scala +++ b/src/test/scala/CmdTest.scala.disabled @@ -6,16 +6,16 @@ object CmdTests extends TestSuite { val cbx = commando.Command( "cbx", - commando.Optional("server", Some('s'), Some(commando.Positional("name"))), + commando.Optional("server", Some('s'), Optional.ArgRequired("name")), commando.Command( "version", - commando.Optional("verbose", Some('v'), Some(commando.Positional("k=v", false)))), + commando.Optional("verbose", Some('v'), Optional.ArgAllowed("k=v"))), commando.Command("login", commando.Positional("server_url"), commando.Positional("username", false), commando.Positional("password", false)), commando.Command("run", - commando.Optional("file", Some('f'), Some(commando.Positional("file_name"))), + commando.Optional("file", Some('f'), Optional.ArgRequired("file_name")), commando.Optional("force", None), commando.Positional("pipeline", false)), commando.Command("level1", diff --git a/src/test/scala/ParserTest.scala b/src/test/scala/ParserTest.scala new file mode 100644 index 0000000..11694c4 --- /dev/null +++ b/src/test/scala/ParserTest.scala @@ -0,0 +1,27 @@ +package commando + +import utest._ + +object ParserTest extends TestSuite { + + implicit class EliteCommando(line: String) { + def parse(command: Command): Unit = { + val args = line.split(" ") + commando.parse(args, command)(err => throw new ParseException(err)) + } + } + + val tests = Tests { + "foo" - { + val command = cmd("cbx")( + opt("server", 'S', param = "url" -> false), + pos("number") + ).run( + ctx => println("yoyo, my context was: " + ctx) + ) + "--server x 3 -S 5 --server=2 --server 2".parse(command) + println(command.usage) + } + } + +} |