From 241b21b0fd34d91fccb2ce69874110dceae6f926 Mon Sep 17 00:00:00 2001 From: Bjørn Erik Pedersen Date: Wed, 4 Jan 2023 18:24:36 +0100 Subject: Create a struct with all of Hugo's config options Primary motivation is documentation, but it will also hopefully simplify the code. Also, * Lower case the default output format names; this is in line with the custom ones (map keys) and how it's treated all the places. This avoids doing `stringds.EqualFold` everywhere. Closes #10896 Closes #10620 --- parser/lowercase_camel_json_test.go | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 parser/lowercase_camel_json_test.go (limited to 'parser/lowercase_camel_json_test.go') diff --git a/parser/lowercase_camel_json_test.go b/parser/lowercase_camel_json_test.go new file mode 100644 index 000000000..ffbc80295 --- /dev/null +++ b/parser/lowercase_camel_json_test.go @@ -0,0 +1,33 @@ +package parser + +import ( + "testing" + + qt "github.com/frankban/quicktest" +) + +func TestReplacingJSONMarshaller(t *testing.T) { + c := qt.New(t) + + m := map[string]any{ + "foo": "bar", + "baz": 42, + "zeroInt1": 0, + "zeroInt2": 0, + "zeroFloat": 0.0, + "zeroString": "", + "zeroBool": false, + "nil": nil, + } + + marshaller := ReplacingJSONMarshaller{ + Value: m, + KeysToLower: true, + OmitEmpty: true, + } + + b, err := marshaller.MarshalJSON() + c.Assert(err, qt.IsNil) + + c.Assert(string(b), qt.Equals, `{"baz":42,"foo":"bar"}`) +} -- cgit v1.2.3