From 9247ca5c62b80d9d9600e1422143fae5aef743bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20=C5=9Awi=C4=99cki?= Date: Sat, 15 Nov 2025 22:03:45 +0100 Subject: [PATCH] Fix assert.ErrorContains for nil error --- picotestify/assert/assert.go | 6 +++++- picotestify/assert/assert_test.go | 5 +++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/picotestify/assert/assert.go b/picotestify/assert/assert.go index ff68dee..060d451 100644 --- a/picotestify/assert/assert.go +++ b/picotestify/assert/assert.go @@ -166,7 +166,11 @@ func ErrorContains(t TestingT, err error, contains string, msgAndArgs ...any) bo return true } - fail(t, msgAndArgs, "Error %q does not contain %q", err.Error(), contains) + if err == nil { + fail(t, msgAndArgs, "Expected error containing %q but got nil", contains) + } else { + fail(t, msgAndArgs, "Error %q does not contain %q", err.Error(), contains) + } return false } diff --git a/picotestify/assert/assert_test.go b/picotestify/assert/assert_test.go index 8ed3b58..e496638 100644 --- a/picotestify/assert/assert_test.go +++ b/picotestify/assert/assert_test.go @@ -95,6 +95,11 @@ func TestAssert(t *testing.T) { pass: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error") }, fail: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error2") }, }, + { + name: "ErrorContains - nil", + pass: func(t assert.TestingT) { assert.ErrorContains(t, errors.New("test error: check"), "error") }, + fail: func(t assert.TestingT) { assert.ErrorContains(t, nil, "error") }, + }, { name: "Empty", pass: func(t assert.TestingT) { assert.Empty(t, []int{}) },