/[cl-cli-parser]/cl-cli-parser/cli-parser-test.lisp
ViewVC logotype

Diff of /cl-cli-parser/cli-parser-test.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by dbueno, Sat Mar 19 21:41:45 2005 UTC revision 1.2 by dbueno, Sat Mar 19 22:18:43 2005 UTC
# Line 8  Line 8 
8    
9  (in-package :cli-parser)  (in-package :cli-parser)
10  (use-package :lunit)  (use-package :lunit)
 (set-current-unit :cli)  
11    
12    
13  (deftest test-opt-p ()  (deftest test-opt-p ()
# Line 33  Line 32 
32          (opt2 "--jthingie=123")          (opt2 "--jthingie=123")
33          (opt3 "--thing=1 2 3")          (opt3 "--thing=1 2 3")
34          (opt4 "--k"))          (opt4 "--k"))
35      (check  (full-opt-p opt1))      (check (full-opt-p opt1))
36      (check  (full-opt-p opt2))      (check (full-opt-p opt2))
37      (check  (full-opt-p opt3))      (check (full-opt-p opt3))
38      (check  (full-opt-p "--thing 1 2 3"))      (check (full-opt-p "--thing 1 2 3"))
39      (check  (full-opt-p "--thing 1,2,3"))      (check (full-opt-p "--thing 1,2,3"))
40      (check (full-opt-p opt4))      (check (full-opt-p opt4))
41      (check (full-opt-p "-cookycrisp"))      (check (full-opt-p "-cookycrisp"))
42      (check (full-opt-p "-k=3"))      (check (full-opt-p "-k=3"))
43      (check (full-opt-p "-k 3"))))      (check (full-opt-p "-k 3"))))
44    
45  (deftest test-end-opt-name ()  (deftest test-end-opt-name ()
46    (check 7 (end-opt-name "--crazy"))    (check (= 7 (end-opt-name "--crazy"))
47    (check 2 (end-opt-name "-c"))           (= 2 (end-opt-name "-c"))
48    (check 7 (end-opt-name "--happy=25"))           (= 7 (end-opt-name "--happy=25"))
49    (check 7 (end-opt-name "--happy 25")))           (= 7 (end-opt-name "--happy 25"))))
50    
51  (deftest test-opt-name ()  (deftest test-opt-name ()
52    (check "crazy" (opt-name "--crazy"))    (check (string="crazy" (opt-name "--crazy"))
53    (check "o" (opt-name "-o"))           (string= "o" (opt-name "-o"))
54    (check "crazy" (opt-name "--crazy=1299"))           (string= "crazy" (opt-name "--crazy=1299"))
55    (check "o" (opt-name "-o=678"))           (string= "o" (opt-name "-o=678"))
56    (check "crazy" (opt-name "--crazy 1299"))           (string= "crazy" (opt-name "--crazy 1299"))
57    (check "o" (opt-name "-o 678")))           (string= "o" (opt-name "-o 678"))))
58    
59  (deftest test-opt-values ()  (deftest test-opt-values ()
60    (check (opt-values "--some-option"))    (check
61    (check '("x" "y" "z") (opt-values "--some-option=x y z "))      (null (opt-values "--some-option"))
62    (check '("x" "y" "z") (opt-values "--opt=x,y,z"))      (equalp '("x" "y" "z") (opt-values "--some-option=x y z "))
63    (check '("x" "y" "z") (opt-values "--opt x,y,z"))      (equalp '("x" "y" "z") (opt-values "--opt=x,y,z"))
64    (check '("x" "y" "z") (opt-values "--opt x y z"))      (equalp '("x" "y" "z") (opt-values "--opt x,y,z"))
65    (check '("1" "2") (opt-values "-x=1 2"))      (equalp '("x" "y" "z") (opt-values "--opt x y z"))
66    (check '("1") (opt-values "-x=1"))      (equalp '("1" "2") (opt-values "-x=1 2"))
67    (check '("1") (opt-values "-x 1"))      (equalp '("1") (opt-values "-x=1"))
68    (check '("1") (opt-values "--stupid 1")))      (equalp '("1") (opt-values "-x 1"))
69        (equalp '("1") (opt-values "--stupid 1"))))
70    
71  (defparameter *test-cli-opts*  (defparameter *test-cli-opts*
72    (list    (list
# Line 79  Line 79 
79                      :example "-a, --artaxerxes")))                      :example "-a, --artaxerxes")))
80    
81  (deftest test-abbr->full-opt-name ()  (deftest test-abbr->full-opt-name ()
82    (check= "artaxerxes"    (check
83            (abbr->full-opt-name "a" *test-cli-opts*))      (string= "artaxerxes"
84    (check= "ornithology"               (abbr->full-opt-name "a" *test-cli-opts*))
85            (abbr->full-opt-name "o" *test-cli-opts*))      (string= "ornithology"
86    (check= "ornithology"               (abbr->full-opt-name "o" *test-cli-opts*))
87            (abbr->full-opt-name "ornithology" *test-cli-opts*))      (string= "ornithology"
88    (check (abbr->full-opt-name "k" *test-cli-opts*)))               (abbr->full-opt-name "ornithology" *test-cli-opts*))
89        (string= "k" (abbr->full-opt-name "k" *test-cli-opts*))))
90    
91  (deftest test-coalesce-options ()  (deftest test-coalesce-options ()
92    (check '("--files=1 2 3")    (check
93           (coalesce-options '("--files=1" "2" "3")))      (equalp'("--files=1 2 3")
94    (check '("--files 1 2 3")             (coalesce-options '("--files=1" "2" "3")))
95           (coalesce-options '("--files" "1" "2" "3")))      (equalp '("--files 1 2 3")
96    (check '("--files 1, 2, 3")              (coalesce-options '("--files" "1" "2" "3")))
97           (coalesce-options '("--files" "1," "2," "3")))      (equalp '("--files 1, 2, 3")
98    (check '("--genre=fatty.xml"              (coalesce-options '("--files" "1," "2," "3")))
99             "--files=file1 file2 file3"      (equalp '("--genre=fatty.xml"
100             "--some-other-things=1 2 3")                "--files=file1 file2 file3"
101           (coalesce-options '("--genre=fatty.xml" "--files=file1" "file2"                "--some-other-things=1 2 3")
102                               "file3" "--some-other-things=1" "2" "3"))))              (coalesce-options '("--genre=fatty.xml" "--files=file1" "file2"
103                                    "file3" "--some-other-things=1" "2" "3")))))
104    
105  (deftest test-cli-parse-hash ()  (deftest test-cli-parse-hash ()
106    (let ((test1 (list "--ornithology=x-value"  "-a y-value"))    (let ((test1 (list "--ornithology=x-value"  "-a y-value"))

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2

  ViewVC Help
Powered by ViewVC 1.1.5