diff options
author | Frédéric Guillot <fred@miniflux.net> | 2017-11-19 21:10:04 -0800 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2017-11-19 22:01:46 -0800 |
commit | 8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch) | |
tree | 38133a2fc612597a75fed1d13e5b4042f58a2b7e /vendor/github.com/tdewolff/minify/json/json_test.go |
First commit
Diffstat (limited to 'vendor/github.com/tdewolff/minify/json/json_test.go')
-rw-r--r-- | vendor/github.com/tdewolff/minify/json/json_test.go | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/vendor/github.com/tdewolff/minify/json/json_test.go b/vendor/github.com/tdewolff/minify/json/json_test.go new file mode 100644 index 0000000..ce0e956 --- /dev/null +++ b/vendor/github.com/tdewolff/minify/json/json_test.go @@ -0,0 +1,74 @@ +package json // import "github.com/tdewolff/minify/json" + +import ( + "bytes" + "fmt" + "os" + "regexp" + "testing" + + "github.com/tdewolff/minify" + "github.com/tdewolff/test" +) + +func TestJSON(t *testing.T) { + jsonTests := []struct { + json string + expected string + }{ + {"{ \"a\": [1, 2] }", "{\"a\":[1,2]}"}, + {"[{ \"a\": [{\"x\": null}, true] }]", "[{\"a\":[{\"x\":null},true]}]"}, + {"{ \"a\": 1, \"b\": 2 }", "{\"a\":1,\"b\":2}"}, + } + + m := minify.New() + for _, tt := range jsonTests { + t.Run(tt.json, func(t *testing.T) { + r := bytes.NewBufferString(tt.json) + w := &bytes.Buffer{} + err := Minify(m, w, r, nil) + test.Minify(t, tt.json, err, w.String(), tt.expected) + }) + } +} + +func TestReaderErrors(t *testing.T) { + r := test.NewErrorReader(0) + w := &bytes.Buffer{} + m := minify.New() + err := Minify(m, w, r, nil) + test.T(t, err, test.ErrPlain, "return error at first read") +} + +func TestWriterErrors(t *testing.T) { + errorTests := []struct { + json string + n []int + }{ + //01 234 56 78 + {`{"key":[100,200]}`, []int{0, 1, 2, 3, 4, 5, 7, 8}}, + } + + m := minify.New() + for _, tt := range errorTests { + for _, n := range tt.n { + t.Run(fmt.Sprint(tt.json, " ", tt.n), func(t *testing.T) { + r := bytes.NewBufferString(tt.json) + w := test.NewErrorWriter(n) + err := Minify(m, w, r, nil) + test.T(t, err, test.ErrPlain) + }) + } + } +} + +//////////////////////////////////////////////////////////////// + +func ExampleMinify() { + m := minify.New() + m.AddFuncRegexp(regexp.MustCompile("[/+]json$"), Minify) + + if err := m.Minify("application/json", os.Stdout, os.Stdin); err != nil { + panic(err) + } +} |