From ee1f501d4a4c4fcfc2068a62183c06bcdc352e76 Mon Sep 17 00:00:00 2001 From: Pratham Gadkari Date: Sun, 30 Nov 2025 15:58:56 +0530 Subject: [PATCH] more tests for code coverage --- binding/form_mapping_test.go | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/binding/form_mapping_test.go b/binding/form_mapping_test.go index d0086d31..d336e0f0 100644 --- a/binding/form_mapping_test.go +++ b/binding/form_mapping_test.go @@ -7,6 +7,7 @@ package binding import ( "encoding/hex" "errors" + "fmt" "mime/multipart" "reflect" "strconv" @@ -734,3 +735,29 @@ func TestTrySetCustomIntegration(t *testing.T) { require.NoError(t, err) assert.Equal(t, "prefix_hello", s.F.Value) } + +type badCustom struct{} + +func (b *badCustom) UnmarshalParam(s string) error { + return fmt.Errorf("boom") +} + +func TestTrySetCustomError(t *testing.T) { + var s struct { + F badCustom `form:"f"` + } + + err := mappingByPtr(&s, formSource{"f": {"hello"}}, "form") + require.Error(t, err) + assert.Contains(t, err.Error(), "invalid value") +} + +func TestTrySetCustomNotApplicable(t *testing.T) { + var s struct { + N int `form:"n"` + } + + err := mappingByPtr(&s, formSource{"n": {"42"}}, "form") + require.NoError(t, err) + assert.Equal(t, 42, s.N) +}