From d104a6c22ab0ec7ab96064205873094beaac2a99 Mon Sep 17 00:00:00 2001 From: Billy Keyes Date: Sun, 14 Apr 2019 17:10:35 -0700 Subject: [PATCH] Add error case tests for binary chunk parsing --- gitdiff/base85.go | 2 +- gitdiff/parser_binary_test.go | 71 ++++++++++++++++++++++++++--------- 2 files changed, 54 insertions(+), 19 deletions(-) diff --git a/gitdiff/base85.go b/gitdiff/base85.go index f31fd5c..385aa64 100644 --- a/gitdiff/base85.go +++ b/gitdiff/base85.go @@ -29,7 +29,7 @@ func base85Decode(dst, src []byte) error { v = 85*v + uint32(b) n++ } else { - return fmt.Errorf("invalid base85 byte at index %d: 0x%x", i, b) + return fmt.Errorf("invalid base85 byte at index %d: 0x%X", i, src[i]) } if n == 5 { rem := len(dst) - ndst diff --git a/gitdiff/parser_binary_test.go b/gitdiff/parser_binary_test.go index 3b120dd..3662389 100644 --- a/gitdiff/parser_binary_test.go +++ b/gitdiff/parser_binary_test.go @@ -4,6 +4,7 @@ import ( "encoding/binary" "io" "reflect" + "strings" "testing" ) @@ -115,23 +116,58 @@ func TestParseBinaryChunk(t *testing.T) { Input string Fragment BinaryFragment Output []byte - Err bool + Err string }{ - "newFile": { - Input: "gcmZQzU|?i`U?w2V48*KJ%mKu_Kr9NxNf->s?WfX|B-=Vs{#X~svra7Ekg#T|4s}nH;WnAZ)|1Y*`&cB\n" + "s(sh?X(Uz6L^!Ou&aF*u`J!eibJifSrv0z>$Q%Hd(^HIJ