command fixes:
- positional tests - init on check syntax - close input files
This commit is contained in:
parent
8e0611f0b1
commit
9c97d790ab
@ -37,6 +37,8 @@ func check(args []string) int {
|
||||
return code
|
||||
}
|
||||
|
||||
defer input.Close()
|
||||
|
||||
_, err := s.Parse(input)
|
||||
if err != nil {
|
||||
stderr(err)
|
||||
|
@ -189,6 +189,13 @@ var checkTests = []mainTest{
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "input as positional",
|
||||
args: []string{
|
||||
"treerack", "check", "-syntax-string", `foo = "bar"`, "bar_test.txt",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "input as string",
|
||||
args: []string{
|
||||
|
@ -22,6 +22,15 @@ func checkSyntax(args []string) int {
|
||||
}
|
||||
|
||||
o.syntax.positional = o.command.flagSet.Args()
|
||||
_, code := o.syntax.openSyntax()
|
||||
s, code := o.syntax.openSyntax()
|
||||
if code != 0 {
|
||||
return code
|
||||
}
|
||||
|
||||
if err := s.Init(); err != nil {
|
||||
stderr(err)
|
||||
return -1
|
||||
}
|
||||
|
||||
return 0
|
||||
}
|
||||
|
@ -111,6 +111,13 @@ var checkSyntaxTests = []mainTest{
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "syntax as positional",
|
||||
args: []string{
|
||||
"treerack", "check-syntax", "foo_test.treerack",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "syntax as string",
|
||||
args: []string{
|
||||
@ -125,6 +132,17 @@ var checkSyntaxTests = []mainTest{
|
||||
},
|
||||
stdin: "invalid",
|
||||
},
|
||||
|
||||
{
|
||||
title: "invalid syntax semantics",
|
||||
args: []string{
|
||||
"treerack", "check-syntax", "-syntax-string", `foo:alias = "bar"`,
|
||||
},
|
||||
exit: -1,
|
||||
stderr: []string{
|
||||
"root",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestCheckSyntax(t *testing.T) {
|
||||
|
@ -37,6 +37,17 @@ var generateTests = []mainTest{
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "syntax as positional",
|
||||
args: []string{
|
||||
"treerack", "generate", "-export", "-package-name", "foo", "foo_test.treerack",
|
||||
},
|
||||
stdout: []string{
|
||||
"package foo",
|
||||
"func Parse",
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "syntax as string",
|
||||
args: []string{
|
||||
|
@ -113,6 +113,8 @@ func (o *fileOptions) openSyntax() (*treerack.Syntax, int) {
|
||||
return nil, code
|
||||
}
|
||||
|
||||
defer input.Close()
|
||||
|
||||
s := &treerack.Syntax{}
|
||||
if err := s.ReadSyntax(input); err != nil {
|
||||
stderr(err)
|
||||
|
@ -74,6 +74,8 @@ func parse(args []string) int {
|
||||
return code
|
||||
}
|
||||
|
||||
defer input.Close()
|
||||
|
||||
n, err := s.Parse(input)
|
||||
if err != nil {
|
||||
stderr(err)
|
||||
|
@ -46,6 +46,16 @@ var parseTests = []mainTest{
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "input as positional",
|
||||
args: []string{
|
||||
"treerack", "parse", "-syntax-string", `foo = "bar"`, "bar_test.txt",
|
||||
},
|
||||
stdout: []string{
|
||||
`"name":"foo"`,
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
title: "input as string",
|
||||
args: []string{
|
||||
|
Loading…
Reference in New Issue
Block a user