Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F12571485
toml_command_test.go
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
7 KB
Subscribers
None
toml_command_test.go
View Options
// Disabling building of toml support in cases where golang is 1.0 or 1.1
// as the encoding library is not implemented or supported.
// +build go1.2
package
altsrc
import
(
"flag"
"io/ioutil"
"os"
"testing"
"gopkg.in/urfave/cli.v1"
)
func
TestCommandTomFileTest
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"test = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"test"
)
expect
(
t
,
val
,
15
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"test"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestGlobalEnvVarWins
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"test = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
os
.
Setenv
(
"THE_TEST"
,
"10"
)
defer
os
.
Setenv
(
"THE_TEST"
,
""
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"test"
)
expect
(
t
,
val
,
10
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"test"
,
EnvVar
:
"THE_TEST"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestGlobalEnvVarWinsNested
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"[top]\ntest = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
os
.
Setenv
(
"THE_TEST"
,
"10"
)
defer
os
.
Setenv
(
"THE_TEST"
,
""
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"top.test"
)
expect
(
t
,
val
,
10
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"top.test"
,
EnvVar
:
"THE_TEST"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestSpecifiedFlagWins
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"test = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
,
"--test"
,
"7"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"test"
)
expect
(
t
,
val
,
7
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"test"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestSpecifiedFlagWinsNested
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
`[top]
test = 15`
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
,
"--top.test"
,
"7"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"top.test"
)
expect
(
t
,
val
,
7
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"top.test"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestDefaultValueFileWins
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"test = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"test"
)
expect
(
t
,
val
,
15
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"test"
,
Value
:
7
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileTestDefaultValueFileWinsNested
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"[top]\ntest = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"top.test"
)
expect
(
t
,
val
,
15
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"top.test"
,
Value
:
7
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileFlagHasDefaultGlobalEnvTomlSetGlobalEnvWins
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"test = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
os
.
Setenv
(
"THE_TEST"
,
"11"
)
defer
os
.
Setenv
(
"THE_TEST"
,
""
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"test"
)
expect
(
t
,
val
,
11
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"test"
,
Value
:
7
,
EnvVar
:
"THE_TEST"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
func
TestCommandTomlFileFlagHasDefaultGlobalEnvTomlSetGlobalEnvWinsNested
(
t
*
testing
.
T
)
{
app
:=
cli
.
NewApp
()
set
:=
flag
.
NewFlagSet
(
"test"
,
0
)
ioutil
.
WriteFile
(
"current.toml"
,
[]
byte
(
"[top]\ntest = 15"
),
0666
)
defer
os
.
Remove
(
"current.toml"
)
os
.
Setenv
(
"THE_TEST"
,
"11"
)
defer
os
.
Setenv
(
"THE_TEST"
,
""
)
test
:=
[]
string
{
"test-cmd"
,
"--load"
,
"current.toml"
}
set
.
Parse
(
test
)
c
:=
cli
.
NewContext
(
app
,
set
,
nil
)
command
:=
&
cli
.
Command
{
Name
:
"test-cmd"
,
Aliases
:
[]
string
{
"tc"
},
Usage
:
"this is for testing"
,
Description
:
"testing"
,
Action
:
func
(
c
*
cli
.
Context
)
error
{
val
:=
c
.
Int
(
"top.test"
)
expect
(
t
,
val
,
11
)
return
nil
},
Flags
:
[]
cli
.
Flag
{
NewIntFlag
(
cli
.
IntFlag
{
Name
:
"top.test"
,
Value
:
7
,
EnvVar
:
"THE_TEST"
}),
cli
.
StringFlag
{
Name
:
"load"
}},
}
command
.
Before
=
InitInputSourceWithContext
(
command
.
Flags
,
NewTomlSourceFromFlagFunc
(
"load"
))
err
:=
command
.
Run
(
c
)
expect
(
t
,
err
,
nil
)
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Nov 23, 9:22 AM (1 d, 13 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3500804
Attached To
rWAGTK writeas-gtk
Event Timeline
Log In to Comment