Skip to content

Commit 7b52e6d

Browse files
committed
Fix tests
1 parent d99017f commit 7b52e6d

4 files changed

Lines changed: 21 additions & 18 deletions

File tree

bb.edn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{:paths ["src"]
2-
:deps {com.lambdaisland/launchpad {:mvn/version "0.26.123-alpha"}
2+
:deps {com.lambdaisland/launchpad {:mvn/version "0.28.129-alpha"}
33
lambdaisland/open-source {:git/url "https://github.com/lambdaisland/open-source"
4-
:git/sha "7ce125cbd14888590742da7ab3b6be9bba46fc7a"
4+
:git/sha "50d58d4dd7d83007e6be40b6ffbb9064a0654dd0"
55
#_#_:local/root "../open-source"}}}

deps.edn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{:paths ["src" "resources"]
22

33
:deps
4-
{org.clojure/clojure {:mvn/version "1.11.1"}}
4+
{org.clojure/clojure {:mvn/version "1.11.3"}}
55

66
:aliases
77
{:dev
@@ -10,4 +10,4 @@
1010

1111
:test
1212
{:extra-paths ["test"]
13-
:extra-deps {lambdaisland/kaocha {:mvn/version "1.87.1366"}}}}}
13+
:extra-deps {lambdaisland/kaocha {:mvn/version "1.91.1392"}}}}}

src/lambdaisland/cli.clj

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
(let [desc #(str (first (str/split (:doc % "") #"\R"))
4747
(when-let [d (:default %)] (str " (default " (pr-str d) ")")))]
4848
(println "NAME")
49-
(println " " cmd-name " " (first (str/split doc #"\R")))
49+
(println " " cmd-name (if (str/blank? doc) "" (str " " (first (str/split doc #"\R")))))
5050
(println)
5151

5252
(println "SYNOPSIS")
@@ -61,15 +61,14 @@
6161
(str/join " | " (map first command-pairs))
6262
"]"))
6363
" [<args>...]"))
64-
(println)
65-
(when-let [doc (next (str/split doc #"\R"))]
66-
(println "DESCRIPTION")
67-
(println (str/join "\n" (drop-while #(str/blank? %) doc)))
68-
(println))
64+
(when-let [doc (and (not (str/blank? doc))
65+
(next (str/split doc #"\R")))]
66+
(println "\nDESCRIPTION")
67+
(println (str/join "\n" (drop-while #(str/blank? %) doc))))
6968
(when (seq flagpairs)
7069
(let [has-short? (some short? (mapcat (comp :flags second) flagpairs))
7170
has-long? (some long? (mapcat (comp :flags second) flagpairs))]
72-
(println "FLAGS")
71+
(println "\nFLAGS")
7372
(print-table
7473
(for [[_ {:keys [flags argdoc required] :as flagopts}] flagpairs]
7574
(let [short (some short? flags)
@@ -85,10 +84,9 @@
8584
argdoc)
8685
(desc flagopts)
8786
(if required "(required)" "")
88-
]))))
89-
(println))
87+
])))))
9088
(when (seq command-pairs)
91-
(println "POSITIONAL ARGUMENTS")
89+
(println "\nPOSITIONAL ARGUMENTS")
9290
(print-table
9391
(for [[cmd cmdopts] command-pairs]
9492
[(str cmd (if (:commands cmdopts)

test/lambdaisland/cli_test.clj

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,11 @@
1717
{:commands ["run" {:command #'identity
1818
:flags ["-x" {:doc "flag x"
1919
:required required}]}]})
20+
(with-out-str (cli/dispatch* (cmdspec-n false) ["run" "-hx"]))
21+
22+
"NAME\n cli run — Returns its argument.\n\nSYNOPSIS\n cli run [-x] [<args>...]\n\nFLAGS\n -x, flag x (required)\n"
23+
"NAME\n cli run — Returns its argument.\n\nSYNOPSIS\n cli run [-x] [<args>...]\n\nFLAGS\n -x, flag x (required)\n"
24+
;; =>
2025

2126
(deftest required-flag
2227
(testing "successful exit"
@@ -30,10 +35,10 @@
3035
(testing "help exit"
3136
(are [input args expected]
3237
(is (= expected (with-out-str (cli/dispatch* input args))))
33-
(cmdspec-1 false) ["-h"] "Usage: cli [-x] [<args>...]\n\n -x, flag x \n\n"
34-
(cmdspec-1 true) ["-hx"] "Usage: cli [-x] [<args>...]\n\n -x, flag x (required)\n\n"
35-
(cmdspec-n false) ["run" "-h"] "Usage: cli run [-x] [<args>...]\n\nReturns its argument.\n\n -x, flag x \n\n"
36-
(cmdspec-n true) ["run" "-hx"] "Usage: cli run [-x] [<args>...]\n\nReturns its argument.\n\n -x, flag x (required)\n\n"))
38+
(cmdspec-1 false) ["-h"] "NAME\n cli \n\nSYNOPSIS\n cli [-x] [<args>...]\n\nFLAGS\n -x, flag x \n"
39+
(cmdspec-1 true) ["-hx"] "NAME\n cli \n\nSYNOPSIS\n cli [-x] [<args>...]\n\nFLAGS\n -x, flag x (required)\n"
40+
(cmdspec-n false) ["run" "-h"] "NAME\n cli run — Returns its argument.\n\nSYNOPSIS\n cli run [-x] [<args>...]\n\nFLAGS\n -x, flag x \n"
41+
(cmdspec-n true) ["run" "-hx"] "NAME\n cli run — Returns its argument.\n\nSYNOPSIS\n cli run [-x] [<args>...]\n\nFLAGS\n -x, flag x (required)\n"))
3742

3843
(testing "unsuccessful exit"
3944
(are [input args expected]

0 commit comments

Comments
 (0)