MCPcopy Create free account
hub / github.com/docopt/docopt.go / TestCommands

Function TestCommands

docopt_test.go:121–145  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

119}
120
121func TestCommands(t *testing.T) {
122 if v, err := Parse("Usage: prog add", []string{"add"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"add": true}) != true {
123 t.Error(err)
124 }
125 if v, err := Parse("Usage: prog [add]", []string{}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"add": false}) != true {
126 t.Error(err)
127 }
128 if v, err := Parse("Usage: prog [add]", []string{"add"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"add": true}) != true {
129 t.Error(err)
130 }
131 if v, err := Parse("Usage: prog (add|rm)", []string{"add"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"add": true, "rm": false}) != true {
132 t.Error(err)
133 }
134 if v, err := Parse("Usage: prog (add|rm)", []string{"rm"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"add": false, "rm": true}) != true {
135 t.Error(err)
136 }
137 if v, err := Parse("Usage: prog a b", []string{"a", "b"}, true, "", false, false); reflect.DeepEqual(v, map[string]interface{}{"a": true, "b": true}) != true {
138 t.Error(err)
139 }
140 _, err := Parse("Usage: prog a b", []string{"b", "a"}, true, "", false, false)
141 if _, ok := err.(*UserError); !ok {
142 t.Error(err)
143 }
144 return
145}
146
147func TestFormalUsage(t *testing.T) {
148 doc := `

Callers

nothing calls this directly

Calls 2

ParseFunction · 0.85
ErrorMethod · 0.45

Tested by

no test coverage detected