From 94bfb1fa147f80e6ec39009d41fc2f853925e0a5 Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sun, 16 Nov 2025 00:00:00 +0000 Subject: hash: Generic hash-algorithm API --- hash_test.go | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'hash_test.go') diff --git a/hash_test.go b/hash_test.go index 4b359c4a..a6215a36 100644 --- a/hash_test.go +++ b/hash_test.go @@ -10,33 +10,34 @@ func TestParseHashValidAndInvalid(t *testing.T) { repeats := (testHashSize*2 + len(pattern) - 1) / len(pattern) hexStr := strings.Repeat(pattern, repeats)[:testHashSize*2] - id, err := ParseHashWithSize(hexStr, testHashSize) + id, err := ParseHash[testHashType](hexStr) if err != nil { t.Fatalf("ParseHash returned error: %v", err) } - if got := id.StringWithSize(testHashSize); got != hexStr { + if got := id.String(); got != hexStr { t.Fatalf("unexpected String result: %q", got) } - if _, err := ParseHashWithSize("abcd", testHashSize); err == nil { + if _, err := ParseHash[testHashType]("abcd"); err == nil { t.Fatal("expected error for short hash") } badHex := strings.Repeat("z", testHashSize*2) - if _, err := ParseHashWithSize(badHex, testHashSize); err == nil { + if _, err := ParseHash[testHashType](badHex); err == nil { t.Fatal("expected error for non-hex input") } } -func TestHashBytesCopiesUnderlyingData(t *testing.T) { - var id Hash - for i := range id { - id[i] = byte(i) +func TestHashTypeCopiesUnderlyingData(t *testing.T) { + var id TestHash + idSlice := id.Slice() + for i := range idSlice { + idSlice[i] = byte(i) } - orig := id.BytesWithSize(testHashSize) + orig := id.Bytes() orig[0] ^= 0xff - if id[0] == orig[0] { + if idSlice[0] == orig[0] { t.Fatal("Bytes should return a copy") } } -- cgit v1.3.1-10-gc9f91