Merge branch 'master' into v1v2release
This commit is contained in:
commit
2a060236ea
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,3 +1,4 @@
|
||||
*.coverprofile
|
||||
*.orig
|
||||
node_modules/
|
||||
vendor
|
||||
vendor
|
||||
|
@ -25,7 +25,7 @@ Usage documentation exists for each major version. Don't know what version you'r
|
||||
**Warning**: `v2` is in a beta state.
|
||||
|
||||
```
|
||||
$ go get github.com/urfave/cli.v2
|
||||
$ go get github.com/urfave/cli/v2
|
||||
```
|
||||
|
||||
```go
|
||||
|
1
build.go
1
build.go
@ -137,6 +137,7 @@ func GfmrunActionFunc(c *cli.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
var counter int
|
||||
scanner := bufio.NewScanner(file)
|
||||
|
@ -114,8 +114,8 @@ func (c *Context) Lineage() []*Context {
|
||||
return lineage
|
||||
}
|
||||
|
||||
// value returns the value of the flag corresponding to `name`
|
||||
func (c *Context) value(name string) interface{} {
|
||||
// Value returns the value of the flag corresponding to `name`
|
||||
func (c *Context) Value(name string) interface{} {
|
||||
return c.flagSet.Lookup(name).Value.(flag.Getter).Get()
|
||||
}
|
||||
|
||||
|
@ -3,8 +3,8 @@ package cli
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"sort"
|
||||
"os"
|
||||
"sort"
|
||||
"strings"
|
||||
"testing"
|
||||
"time"
|
||||
@ -328,7 +328,7 @@ func TestContextPropagation(t *testing.T) {
|
||||
parent := NewContext(nil, nil, nil)
|
||||
parent.Context = context.WithValue(context.Background(), "key", "val")
|
||||
ctx := NewContext(nil, nil, parent)
|
||||
val := ctx.Value("key")
|
||||
val := ctx.Context.Value("key")
|
||||
if val == nil {
|
||||
t.Fatal("expected a parent context to be inherited but got nil")
|
||||
}
|
||||
|
18
docs_test.go
18
docs_test.go
@ -64,7 +64,10 @@ func testApp() *App {
|
||||
}}
|
||||
app.UsageText = "app [first_arg] [second_arg]"
|
||||
app.Usage = "Some app"
|
||||
app.Authors = []*Author{{Name: "Harrison", Email: "harrison@lolwut.com"}}
|
||||
app.Authors = []*Author{
|
||||
{Name: "Harrison", Email: "harrison@lolwut.com"},
|
||||
{Name: "Oliver Allen", Email: "oliver@toyshop.com"},
|
||||
}
|
||||
return app
|
||||
}
|
||||
|
||||
@ -112,6 +115,19 @@ func TestToMarkdownNoCommands(t *testing.T) {
|
||||
expectFileContent(t, "testdata/expected-doc-no-commands.md", res)
|
||||
}
|
||||
|
||||
func TestToMarkdownNoAuthors(t *testing.T) {
|
||||
// Given
|
||||
app := testApp()
|
||||
app.Authors = []*Author{}
|
||||
|
||||
// When
|
||||
res, err := app.ToMarkdown()
|
||||
|
||||
// Then
|
||||
expect(t, err, nil)
|
||||
expectFileContent(t, "testdata/expected-doc-no-authors.md", res)
|
||||
}
|
||||
|
||||
func TestToMan(t *testing.T) {
|
||||
// Given
|
||||
app := testApp()
|
||||
|
@ -121,8 +121,8 @@ func TestFlagsFromEnv(t *testing.T) {
|
||||
a := App{
|
||||
Flags: []Flag{test.flag},
|
||||
Action: func(ctx *Context) error {
|
||||
if !reflect.DeepEqual(ctx.value(test.flag.Names()[0]), test.output) {
|
||||
t.Errorf("ex:%01d expected %q to be parsed as %#v, instead was %#v", i, test.input, test.output, ctx.value(test.flag.Names()[0]))
|
||||
if !reflect.DeepEqual(ctx.Value(test.flag.Names()[0]), test.output) {
|
||||
t.Errorf("ex:%01d expected %q to be parsed as %#v, instead was %#v", i, test.input, test.output, ctx.Value(test.flag.Names()[0]))
|
||||
}
|
||||
return nil
|
||||
},
|
||||
|
@ -71,10 +71,9 @@ OPTIONS:
|
||||
{{end}}{{end}}
|
||||
`
|
||||
|
||||
var MarkdownDocTemplate = `% {{ .App.Name }}(8) {{ .App.Description }}
|
||||
{{ range $Author := .App.Authors}}
|
||||
% {{ $Author.Name }}
|
||||
{{- end}}
|
||||
var MarkdownDocTemplate = `% {{ .App.Name }}(8){{ if .App.Description }} {{ .App.Description }}{{ end }}
|
||||
{{ range $a := .App.Authors }}
|
||||
% {{ $a }}{{ end }}
|
||||
|
||||
# NAME
|
||||
|
||||
|
7
testdata/expected-doc-full.man
vendored
7
testdata/expected-doc-full.man
vendored
@ -1,7 +1,10 @@
|
||||
.nh
|
||||
.TH greet(8)
|
||||
.TH greet(8)
|
||||
|
||||
.SH Harrison
|
||||
.SH Harrison harrison@lolwut.com
|
||||
\[la]mailto:harrison@lolwut.com\[ra]
|
||||
Oliver Allen oliver@toyshop.com
|
||||
\[la]mailto:oliver@toyshop.com\[ra]
|
||||
|
||||
.SH NAME
|
||||
.PP
|
||||
|
5
testdata/expected-doc-full.md
vendored
5
testdata/expected-doc-full.md
vendored
@ -1,6 +1,7 @@
|
||||
% greet(8)
|
||||
% greet(8)
|
||||
|
||||
% Harrison
|
||||
% Harrison <harrison@lolwut.com>
|
||||
% Oliver Allen <oliver@toyshop.com>
|
||||
|
||||
# NAME
|
||||
|
||||
|
61
testdata/expected-doc-no-authors.md
vendored
Normal file
61
testdata/expected-doc-no-authors.md
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
% greet(8)
|
||||
|
||||
|
||||
# NAME
|
||||
|
||||
greet - Some app
|
||||
|
||||
# SYNOPSIS
|
||||
|
||||
greet
|
||||
|
||||
```
|
||||
[--another-flag|-b]
|
||||
[--flag|--fl|-f]=[value]
|
||||
[--socket|-s]=[value]
|
||||
```
|
||||
|
||||
# DESCRIPTION
|
||||
|
||||
app [first_arg] [second_arg]
|
||||
|
||||
**Usage**:
|
||||
|
||||
```
|
||||
greet [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...]
|
||||
```
|
||||
|
||||
# GLOBAL OPTIONS
|
||||
|
||||
**--another-flag, -b**: another usage text
|
||||
|
||||
**--flag, --fl, -f**="":
|
||||
|
||||
**--socket, -s**="": some 'usage' text (default: value)
|
||||
|
||||
|
||||
# COMMANDS
|
||||
|
||||
## config, c
|
||||
|
||||
another usage test
|
||||
|
||||
**--another-flag, -b**: another usage text
|
||||
|
||||
**--flag, --fl, -f**="":
|
||||
|
||||
### sub-config, s, ss
|
||||
|
||||
another usage test
|
||||
|
||||
**--sub-command-flag, -s**: some usage text
|
||||
|
||||
**--sub-flag, --sub-fl, -s**="":
|
||||
|
||||
## info, i, in
|
||||
|
||||
retrieve generic information
|
||||
|
||||
## some-command
|
||||
|
||||
|
5
testdata/expected-doc-no-commands.md
vendored
5
testdata/expected-doc-no-commands.md
vendored
@ -1,6 +1,7 @@
|
||||
% greet(8)
|
||||
% greet(8)
|
||||
|
||||
% Harrison
|
||||
% Harrison <harrison@lolwut.com>
|
||||
% Oliver Allen <oliver@toyshop.com>
|
||||
|
||||
# NAME
|
||||
|
||||
|
5
testdata/expected-doc-no-flags.md
vendored
5
testdata/expected-doc-no-flags.md
vendored
@ -1,6 +1,7 @@
|
||||
% greet(8)
|
||||
% greet(8)
|
||||
|
||||
% Harrison
|
||||
% Harrison <harrison@lolwut.com>
|
||||
% Oliver Allen <oliver@toyshop.com>
|
||||
|
||||
# NAME
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user