From ab3dff982b926c2ffb011620e8eccb57dd452580 Mon Sep 17 00:00:00 2001 From: mehrdadbn9 Date: Fri, 13 Feb 2026 13:57:24 +0330 Subject: [PATCH] test: add tests for codec/json package to improve coverage --- codec/json/json_test.go | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 codec/json/json_test.go diff --git a/codec/json/json_test.go b/codec/json/json_test.go new file mode 100644 index 00000000..e21dbbb7 --- /dev/null +++ b/codec/json/json_test.go @@ -0,0 +1,53 @@ +// Copyright 2025 Gin Core Team. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestJSONMarshal(t *testing.T) { + data := map[string]string{"key": "value"} + result, err := API.Marshal(data) + require.NoError(t, err) + assert.JSONEq(t, `{"key":"value"}`, string(result)) +} + +func TestJSONUnmarshal(t *testing.T) { + var data map[string]string + err := API.Unmarshal([]byte(`{"key":"value"}`), &data) + require.NoError(t, err) + assert.Equal(t, "value", data["key"]) +} + +func TestJSONMarshalIndent(t *testing.T) { + data := map[string]string{"key": "value"} + result, err := API.MarshalIndent(data, "", " ") + require.NoError(t, err) + assert.Contains(t, string(result), `"key": "value"`) +} + +func TestJSONNewEncoder(t *testing.T) { + var buf bytes.Buffer + encoder := API.NewEncoder(&buf) + require.NotNil(t, encoder) + err := encoder.Encode(map[string]string{"key": "value"}) + require.NoError(t, err) + assert.JSONEq(t, `{"key":"value"}`, buf.String()) +} + +func TestJSONNewDecoder(t *testing.T) { + buf := bytes.NewBufferString(`{"key":"value"}`) + decoder := API.NewDecoder(buf) + require.NotNil(t, decoder) + var data map[string]string + err := decoder.Decode(&data) + require.NoError(t, err) + assert.Equal(t, "value", data["key"]) +}