feat(test): add more tests for the presets, and compat with iso-ucan

This commit is contained in:
Michael Muré
2025-07-23 10:58:51 +02:00
parent a43c3af4c8
commit 2f22cb9b15
3 changed files with 178 additions and 100 deletions

View File

@@ -2,7 +2,6 @@ package varsig_test
import (
"encoding/hex"
"errors"
"io"
"testing"
@@ -157,28 +156,3 @@ func TestDecode(t *testing.T) {
assert.NotNil(t, vs) // varsig is still returned with just "header"
})
}
func mustVarsig[T varsig.Varsig](t *testing.T, v T, err error) {
t.Helper()
if err != nil && (v.Version() != varsig.Version0 || !errors.Is(err, varsig.ErrMissingSignature)) {
t.Error(err)
}
}
func roundTrip[T varsig.Varsig](t *testing.T, in T, expEncHex string) T {
data := in.Encode()
assert.Equal(t, expEncHex, hex.EncodeToString(data))
out, err := varsig.Decode(in.Encode())
if err != nil && (out.Version() != varsig.Version0 || !errors.Is(err, varsig.ErrMissingSignature)) {
t.Fail()
}
assert.Equal(t, in.Version(), out.Version())
assert.Equal(t, in.Discriminator(), out.Discriminator())
assert.Equal(t, in.PayloadEncoding(), out.PayloadEncoding())
assert.Equal(t, in.Signature(), out.Signature())
return out.(T)
}