From 1ee68af2d332c52b90c65184c8dc9d6b2ed41be9 Mon Sep 17 00:00:00 2001 From: yeqown Date: Thu, 4 Nov 2021 14:34:55 +0800 Subject: [PATCH] tests: supplement issue-40 testcase --- qrcode_test.go | 37 +++++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/qrcode_test.go b/qrcode_test.go index bf24107..bb34bde 100644 --- a/qrcode_test.go +++ b/qrcode_test.go @@ -1,11 +1,14 @@ package qrcode import ( - "log" + "crypto/md5" + "encoding/hex" + "io" "os" "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestNew(t *testing.T) { @@ -176,16 +179,34 @@ func Test_New_WithBorderWidth(t *testing.T) { // https://github.com/yeqown/go-qrcode/issues/40 func Test_Issue40(t *testing.T) { qrc, err := New("https://baidu.com/") - if err != nil { - panic(err) - } - + require.NoError(t, err) err = qrc.Save("./testdata/issue40_1.png") + require.NoError(t, err) + err = qrc.Save("./testdata/issue40_2.png") + require.NoError(t, err) + + h1, err := hashFile("./testdata/issue40_1.png") + require.NoError(t, err) + h2, err := hashFile("./testdata/issue40_2.png") + require.NoError(t, err) + t.Logf("hash1=%s, hash2=%s", h1, h2) + assert.Equal(t, h1, h2) +} + +func hashFile(filename string) (string, error) { + h := md5.New() + + fd1, err := os.Open(filename) if err != nil { - log.Println(err) + return "", err } - err = qrc.Save("./testdata/issue40_2.png") + bytes, err := io.ReadAll(fd1) if err != nil { - log.Println(err) + return "", err } + if _, err = h.Write(bytes); err != nil { + return "", err + } + + return hex.EncodeToString(h.Sum(nil)), nil }