From fbbb7987e553a95bec714a2f761319f24e938f90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E1=B4=9C=C9=B4=E1=B4=8B=C9=B4=E1=B4=A1=E1=B4=8F=C9=B4?= Date: Sat, 7 Mar 2020 14:13:37 +0800 Subject: [PATCH] data_source: support io.Reader --- Makefile | 2 +- data_source.go | 2 ++ ini_test.go | 12 ++++-------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index af27ff0..f3b0dae 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ test: go test -v -cover -race bench: - go test -v -cover -race -test.bench=. -test.benchmem + go test -v -cover -test.bench=. -test.benchmem vet: go vet diff --git a/data_source.go b/data_source.go index dc0277e..bbedf36 100644 --- a/data_source.go +++ b/data_source.go @@ -66,6 +66,8 @@ func parseDataSource(source interface{}) (dataSource, error) { return sourceFile{s}, nil case []byte: return &sourceData{s}, nil + case io.Reader: + return &sourceReadCloser{ioutil.NopCloser(s)}, nil case io.ReadCloser: return &sourceReadCloser{s}, nil default: diff --git a/ini_test.go b/ini_test.go index 5e87be0..e95aa01 100644 --- a/ini_test.go +++ b/ini_test.go @@ -52,15 +52,11 @@ var update = flag.Bool("update", false, "Update .golden files") func TestLoad(t *testing.T) { Convey("Load from good data sources", t, func() { - f, err := ini.Load([]byte(` -NAME = ini -VERSION = v1 -IMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s`), + f, err := ini.Load( "testdata/minimal.ini", - ioutil.NopCloser(bytes.NewReader([]byte(` -[author] -NAME = Unknwon -`))), + []byte("NAME = ini\nIMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s"), + bytes.NewReader([]byte(`VERSION = v1`)), + ioutil.NopCloser(bytes.NewReader([]byte("[author]\nNAME = Unknwon"))), ) So(err, ShouldBeNil) So(f, ShouldNotBeNil)