32 lines
488 B
Go
32 lines
488 B
Go
|
package file
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/micro/go-micro/config/source"
|
||
|
)
|
||
|
|
||
|
func TestFormat(t *testing.T) {
|
||
|
opts := source.NewOptions()
|
||
|
e := opts.Encoder
|
||
|
|
||
|
testCases := []struct {
|
||
|
p string
|
||
|
f string
|
||
|
}{
|
||
|
{"/foo/bar.json", "json"},
|
||
|
{"/foo/bar.yaml", "yaml"},
|
||
|
{"/foo/bar.xml", "xml"},
|
||
|
{"/foo/bar.conf.ini", "ini"},
|
||
|
{"conf", e.String()},
|
||
|
}
|
||
|
|
||
|
for _, d := range testCases {
|
||
|
f := format(d.p, e)
|
||
|
if f != d.f {
|
||
|
t.Fatalf("%s: expected %s got %s", d.p, d.f, f)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|