MCPcopy Create free account
hub / github.com/buke/quickjs-go / TestErrorAsGoInterface

Function TestErrorAsGoInterface

error_test.go:146–175  ·  view source on GitHub ↗

TestErrorAsGoInterface tests Error implementing Go's error interface

(t *testing.T)

Source from the content-addressed store, hash-verified

144
145// TestErrorAsGoInterface tests Error implementing Go's error interface
146func TestErrorAsGoInterface(t *testing.T) {
147 quickjsErr := &Error{
148 Name: "TestError",
149 Message: "test error message",
150 }
151
152 // Test that it can be used as Go error
153 var goErr error = quickjsErr
154 require.EqualValues(t, "TestError: test error message", goErr.Error())
155
156 // Test in error handling context
157 testFunc := func() error {
158 return quickjsErr
159 }
160
161 err := testFunc()
162 require.Error(t, err)
163 require.EqualValues(t, "TestError: test error message", err.Error())
164
165 // Test struct equality (comparing values, not pointers)
166 err1 := &Error{Name: "TestError", Message: "test message"}
167 err2 := &Error{Name: "TestError", Message: "test message"}
168 err3 := &Error{Name: "DifferentError", Message: "test message"}
169
170 // Compare values, not pointer addresses
171 require.Equal(t, *err1, *err2)
172 require.NotEqual(t, *err1, *err3)
173 require.EqualValues(t, err1.Error(), err2.Error())
174 require.NotEqual(t, err1.Error(), err3.Error())
175}
176
177// TestErrorFieldManipulation tests field access and modification
178func TestErrorFieldManipulation(t *testing.T) {

Callers

nothing calls this directly

Calls 3

ErrorMethod · 0.95
EqualMethod · 0.80
ErrorMethod · 0.45

Tested by

no test coverage detected