From 6655e9f74eac800e26f57ebdb143111726e8b73d Mon Sep 17 00:00:00 2001 From: Runxi Yu Date: Sat, 15 Nov 2025 00:00:00 +0000 Subject: Use SHA-256 by default --- hash_test.go | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'hash_test.go') diff --git a/hash_test.go b/hash_test.go index 95660d88..e09eadfb 100644 --- a/hash_test.go +++ b/hash_test.go @@ -1,21 +1,30 @@ package furgit -import "testing" +import ( + "strings" + "testing" +) func TestParseHashValidAndInvalid(t *testing.T) { - const hex40 = "0123456789abcdef0123456789abcdef01234567" - id, err := ParseHash(hex40) + pattern := "0123456789abcdef" + repeats := (HashSize*2 + len(pattern) - 1) / len(pattern) + hexStr := strings.Repeat(pattern, repeats)[:HashSize*2] + + id, err := ParseHash(hexStr) if err != nil { t.Fatalf("ParseHash returned error: %v", err) } - if got := id.String(); got != hex40 { + + if got := id.String(); got != hexStr { t.Fatalf("unexpected String result: %q", got) } if _, err := ParseHash("abcd"); err == nil { t.Fatal("expected error for short hash") } - if _, err := ParseHash("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"); err == nil { + + badHex := strings.Repeat("z", HashSize*2) + if _, err := ParseHash(badHex); err == nil { t.Fatal("expected error for non-hex input") } } -- cgit v1.3.1-10-gc9f91