diff options
Diffstat (limited to 'tests/stdlib/tparsopt.nim')
-rw-r--r-- | tests/stdlib/tparsopt.nim | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/stdlib/tparsopt.nim b/tests/stdlib/tparsopt.nim new file mode 100644 index 000000000..f3a9a9798 --- /dev/null +++ b/tests/stdlib/tparsopt.nim @@ -0,0 +1,35 @@ +discard """ +disabled: true +""" + +# this file has a type in the name, and it does not really test +# parseopt module, because tester has no support to set arguments. Test the +# new parseopt module. Therefore it is disabled. + +import + parseopt + +import std/[assertions, syncio] + +proc writeHelp() = + writeLine(stdout, "Usage: tparsopt [options] filename [options]") + +proc writeVersion() = + writeLine(stdout, "Version: 1.0.0") + +var + filename = "" +for kind, key, val in getopt(): + case kind + of cmdArgument: + filename = key + of cmdLongOption, cmdShortOption: + case key + of "help", "h": writeHelp() + of "version", "v": writeVersion() + else: + writeLine(stdout, "Unknown command line option: ", key, ": ", val) + of cmdEnd: doAssert(false) # cannot happen +if filename == "": + # no filename has been given, so we show the help: + writeHelp() |