package webapi import ( "testing" "github.com/decred/slog" ) func TestIndentJSON(t *testing.T) { t.Parallel() // Get the actual invokable func by passing a noop logger. indentJSONFunc := indentJSON(slog.Disabled) tests := map[string]struct { input string expected string }{ "nothing": { input: "", expected: "", }, "empty": { input: "{}", expected: "{}", }, "one line JSON": { input: "{\"key\":\"value\"}", expected: "{\n \"key\": \"value\"\n}", }, "nested JSON": { input: "{\"key\":{\"key2\":\"value\"}}", expected: "{\n \"key\": {\n \"key2\": \"value\"\n }\n}", }, "invalid JSON": { input: "this is not valid json", expected: "this is not valid json", }, } for testName, test := range tests { test := test t.Run(testName, func(t *testing.T) { t.Parallel() actual := indentJSONFunc(test.input) if actual != test.expected { t.Fatalf("expected %q, got %q", test.expected, actual) } }) } }