diff options
| author | 2025-11-15 00:00:00 +0000 | |
|---|---|---|
| committer | 2025-11-15 00:00:00 +0000 | |
| commit | 6655e9f74eac800e26f57ebdb143111726e8b73d (patch) | |
| tree | db36fffb1dac361f0ca42023d747081fefaeb14f /hash_test.go | |
| parent | Add initial support for multi pack indexes (diff) | |
| signature | ||
Use SHA-256 by default
Diffstat (limited to 'hash_test.go')
| -rw-r--r-- | hash_test.go | 19 |
1 files changed, 14 insertions, 5 deletions
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") } } |
