代码拉取完成,页面将自动刷新
package goNixArgParser
import (
"testing"
)
func TestParse2(t *testing.T) {
var err error
s := NewOptionSet("", nil, nil, nil, nil)
err = s.Add(Option{
Key: "deft",
Flags: []*Flag{{Name: "-df"}, {Name: "--default"}},
AcceptValue: true,
DefaultValues: []string{"myDefault"},
})
if err != nil {
t.Error(err)
}
err = s.AddFlag("flag", "-flag", "FLAG", "flag option")
if err != nil {
t.Error(err)
}
err = s.AddFlag("p", "p", "", "flag p")
if err != nil {
t.Error(err)
}
err = s.AddFlag("q", "q", "", "flag q")
if err != nil {
t.Error(err)
}
err = s.AddFlags("flags", []string{"-flags", "--flags"}, "", "flags option")
if err != nil {
t.Error(err)
}
err = s.AddFlagValue("port", "--port", "", "21", "port to listen")
if err != nil {
t.Error(err)
}
err = s.AddFlagValues("ports", "--ports", "", []string{"80", "8080"}, "ports to listen for http")
if err != nil {
t.Error(err)
}
err = s.AddFlagsValue("file", []string{"-f", "--files"}, "", "", "file to open")
if err != nil {
t.Error(err)
}
err = s.Add(Option{
Key: "props",
Summary: "properties",
Description: "single description",
Flags: []*Flag{NewSimpleFlag("-p"), NewFlag("--props", 0, false, true, true)},
AcceptValue: true,
MultiValues: true,
})
if err != nil {
t.Error(err)
}
args := []string{
"-flag",
"pq",
"--flags",
"--port", "22",
"--ports", "443", "4443", "443",
"--ports", "4444",
"-f", "file1", "file2",
"--props=aa", "bb", "cc", "dd", "ee",
}
parsed := s.Parse(args, nil)
if v, _ := parsed.GetString("deft"); v != "myDefault" {
t.Error("deft")
}
if !parsed.HasKey("flag") {
t.Error("flag")
}
if !parsed.HasKey("flags") {
t.Error("flags")
}
if !parsed.HasKey("p") {
t.Error("p")
}
if !parsed.HasKey("q") {
t.Error("q")
}
if v, _ := parsed.GetString("port"); v != "22" {
t.Error("port")
}
ports, _ := parsed.GetStrings("ports")
if len(ports) != 3 {
t.Error("ports")
}
if v, _ := parsed.GetString("file"); v != "file1" {
t.Error("file")
}
props, _ := parsed.GetStrings("props")
if len(props) != 5 {
t.Error("props")
}
if len(parsed.GetRests()) != 1 {
t.Error("rests")
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。