From 8317dc165124fe8894858a33e8621016240dc7ca Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 16 Jul 2017 23:33:19 +0200 Subject: fix test --- zhead/header.go | 8 +++++--- zhead/header_test.go | 32 ++++++++++++++++++++++++++++---- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/zhead/header.go b/zhead/header.go index 90678a2..bb4f1cb 100644 --- a/zhead/header.go +++ b/zhead/header.go @@ -16,7 +16,7 @@ const header = `{{define "header" -}} date={{.Date.Format "2006-01-02T15:04:05Z07:00"}} key={{.KeyFile}} algorithm={{.Alg}} -bocksize={{.BlockSize}} +blocksize={{.BlockSize}} {{range .Sums}}{{printf "%x" .}} {{end}}{{end}}` @@ -62,7 +62,7 @@ func Parse(r io.Reader) (Header, error) { case strings.HasPrefix(line, "algorithm="): h.Alg = line[10:] case strings.HasPrefix(line, "blocksize="): - i, err := strconv.Atoi(line[9:]) + i, err := strconv.Atoi(line[10:]) if err != nil { return Header{}, err } @@ -78,7 +78,9 @@ func Parse(r io.Reader) (Header, error) { if err != nil { return Header{}, err } - h.Sums = append(h.Sums, sum) + if len(sum) > 0 { + h.Sums = append(h.Sums, sum) + } } } return h, scanner.Err() diff --git a/zhead/header_test.go b/zhead/header_test.go index bd3d0fa..a6af80f 100644 --- a/zhead/header_test.go +++ b/zhead/header_test.go @@ -2,14 +2,17 @@ package zhead import ( "bytes" - "reflect" "testing" "time" ) func TestHeader(t *testing.T) { + date, err := time.Parse(time.UnixDate, "Mon Jan 2 15:04:05 UTC 2006") + if err != nil { + t.Fatal(err) + } h := Header{ - Date: time.Now().UTC(), + Date: date, KeyFile: "some.key", Alg: DefaultAlg, BlockSize: DefaultBlockSize, @@ -26,7 +29,28 @@ func TestHeader(t *testing.T) { if err != nil { t.Fatal(err) } - if !reflect.DeepEqual(head, h) { - t.Errorf("got %v; want %v", head, h) + cmp(t, head, h) +} + +func cmp(t *testing.T, got, want Header) { + if !got.Date.Equal(want.Date) { + t.Errorf("got %v; want %v", got.Date, want.Date) + } + if got.KeyFile != want.KeyFile { + t.Errorf("got %v; want %v", got.KeyFile, want.KeyFile) + } + if got.Alg != want.Alg { + t.Errorf("got %v; want %v", got.Alg, want.Alg) + } + if got.BlockSize != want.BlockSize { + t.Errorf("got %v; want %v", got.BlockSize, want.BlockSize) + } + if len(got.Sums) != len(want.Sums) { + t.Fatalf("got %v; want %v", len(got.Sums), len(want.Sums)) + } + for i := 0; i < len(got.Sums); i++ { + if !bytes.Equal(got.Sums[i], want.Sums[i]) { + t.Errorf("got %v; want %v", got.Sums[i], want.Sums[i]) + } } } -- cgit v1.2.3