* Add tests for markdown-clj and tools.namespace
See comment for why only one markdown test could be run.
Closes #1069 and #1064
* Convert 10 test libs using add-libtest
Also improved add-libtest to only require maven artifact
and rely on clojars for getting git-url most of the time
* Convert 8 more test libs using add-libtest
Also updated table and added comment for newline test
* Fix doric test
* Disable tools.namespace test that fails on windows
* Added dozen manual test libs and converted 2 test libs
add-libtest.clj supports manually-added and test-directories options
* Converts last tests to test namespaces and write libraries.csv
* Add a number of library tests from projects.md
Also add more docs around adding test libs and tweak add script
* Use :sha for gitlib and older clojure cli
* Revert "Use :sha for gitlib and older clojure cli"
This reverts commit c663ab8368.
* Fix and disable failing tests
Disabled tests that fail consistently and fixed windows one
57 lines
1.9 KiB
Text
57 lines
1.9 KiB
Text
# Should output the same things as docopt/docopt for language agnostic tests
|
|
|
|
# Testing `--`
|
|
|
|
r"""Usage: prog foo -- <extra-opts>...
|
|
|
|
"""
|
|
|
|
$ prog foo
|
|
"user-error"
|
|
|
|
$ prog foo -- --bar
|
|
{"--":true, "<extra-opts>": ["--bar"], "foo":true}
|
|
|
|
r"""Usage: prog foo [--] <extra-opts>...
|
|
|
|
"""
|
|
|
|
$ prog foo
|
|
"user-error"
|
|
# Wrong, should be
|
|
# {"foo": true, "--": false, "<extra-opts>": []}
|
|
|
|
$ prog foo -- --bar
|
|
{"foo": true, "--": true, "<extra-opts>": ["--bar"]}
|
|
|
|
r"""Complex command
|
|
|
|
Usage:
|
|
prog [options] <param-x> <param-y> -- <extra>...
|
|
prog [options] <param-a> <param-b> <param-c> <param-d> -- <extra>...
|
|
prog [options] <param-x> <param-y>
|
|
prog [options] <param-a> <param-b> <param-c> <param-d>
|
|
|
|
Options:
|
|
-f --foo Foo
|
|
--bar <bar> Bar
|
|
|
|
"""
|
|
|
|
$ prog x y --foo
|
|
{"--":false,"--bar":null,"--foo":true,"<extra>":[],"<param-a>":null,"<param-b>":null,"<param-c>":null,"<param-d>":null,"<param-x>":"x","<param-y>":"y"}
|
|
|
|
$ prog a b c d
|
|
{"--":false,"--bar":null,"--foo":false,"<extra>":[],"<param-a>":"a","<param-b>":"b","<param-c>":"c","<param-d>":"d","<param-x>":null,"<param-y>":null}
|
|
|
|
$ prog a b c d --foo --bar bar
|
|
{"--":false,"--bar":"bar","--foo":true,"<extra>":[],"<param-a>":"a","<param-b>":"b","<param-c>":"c","<param-d>":"d","<param-x>":null,"<param-y>":null}
|
|
|
|
$ prog x y --bar bar -- extra
|
|
{"--bar": "bar", "--foo": false, "<param-x>": "x", "<param-y>": "y", "--": true, "<extra>": ["extra"], "<param-a>": null, "<param-b>": null, "<param-c>": null, "<param-d>": null}
|
|
|
|
$ prog a b c d --foo --bar bar -- extra
|
|
{"--foo": true, "--bar": "bar", "<param-x>": null, "<param-y>": null, "--": true, "<extra>": ["extra"], "<param-a>": "a", "<param-b>": "b", "<param-c>": "c", "<param-d>": "d"}
|
|
|
|
$ prog x y -- e1 e2 e3 e4
|
|
{"--bar": null, "--foo": false, "<param-x>": "x", "<param-y>": "y", "--": true, "<extra>": ["e1", "e2", "e3", "e4"], "<param-a>": null, "<param-b>": null, "<param-c>": null, "<param-d>": null}
|