aboutsummaryrefslogtreecommitdiffstats
path: root/plumbing/hash_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'plumbing/hash_test.go')
-rw-r--r--plumbing/hash_test.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/plumbing/hash_test.go b/plumbing/hash_test.go
new file mode 100644
index 0000000..370811e
--- /dev/null
+++ b/plumbing/hash_test.go
@@ -0,0 +1,42 @@
+package plumbing
+
+import (
+ "testing"
+
+ . "gopkg.in/check.v1"
+)
+
+func Test(t *testing.T) { TestingT(t) }
+
+type HashSuite struct{}
+
+var _ = Suite(&HashSuite{})
+
+func (s *HashSuite) TestComputeHash(c *C) {
+ hash := ComputeHash(BlobObject, []byte(""))
+ c.Assert(hash.String(), Equals, "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391")
+
+ hash = ComputeHash(BlobObject, []byte("Hello, World!\n"))
+ c.Assert(hash.String(), Equals, "8ab686eafeb1f44702738c8b0f24f2567c36da6d")
+}
+
+func (s *HashSuite) TestNewHash(c *C) {
+ hash := ComputeHash(BlobObject, []byte("Hello, World!\n"))
+
+ c.Assert(hash, Equals, NewHash(hash.String()))
+}
+
+func (s *HashSuite) TestIsZero(c *C) {
+ hash := NewHash("foo")
+ c.Assert(hash.IsZero(), Equals, true)
+
+ hash = NewHash("8ab686eafeb1f44702738c8b0f24f2567c36da6d")
+ c.Assert(hash.IsZero(), Equals, false)
+}
+
+func (s *HashSuite) TestNewHasher(c *C) {
+ content := "hasher test sample"
+ hasher := NewHasher(BlobObject, int64(len(content)))
+ hasher.Write([]byte(content))
+ c.Assert(hasher.Sum().String(), Equals, "dc42c3cc80028d0ec61f0a6b24cadd1c195c4dfc")
+}