diff --git a/pkg/schema/test/object_test.go b/pkg/schema/test/object_test.go index 4d9d13a521b6c4f9de48e507759e425afbb2b88b..38868f66989108c142e50eaad62539be381edb4f 100644 --- a/pkg/schema/test/object_test.go +++ b/pkg/schema/test/object_test.go @@ -89,6 +89,20 @@ func TestNumberField_JSON_With_MaxInt(t *testing.T) { _, err = field.Decode(context.Background(), fld, itemDataToDecode) require.NoError(t, err) }) + t.Run("Without overflow from float64", func(t *testing.T) { + fld := field.Object("num", field.Number(field.NumberFormatInt)) + + itemData := map[string]interface{}{"num": float64(1<<53 - 1)} + + b, err := json.Marshal(itemData) + require.NoError(t, err) + + itemDataToDecode := make(map[string]interface{}) + require.NoError(t, json.Unmarshal(b, &itemDataToDecode)) + + _, err = field.Decode(context.Background(), fld, itemDataToDecode) + require.NoError(t, err) + }) t.Run("With overflow from int64", func(t *testing.T) { fld := field.Object("num", field.Number(field.NumberFormatInt))