add test for ReadZipReader, close #642

This commit is contained in:
xuri 2020-05-23 13:29:51 +08:00
parent 82bb1153d7
commit 7f78464f7f
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
3 changed files with 24 additions and 12 deletions

View File

@ -220,6 +220,22 @@ func TestOpenReader(t *testing.T) {
_, err = OpenReader(r)
assert.EqualError(t, err, "unexpected EOF")
_, err = OpenReader(bytes.NewReader([]byte{
0x50, 0x4b, 0x03, 0x04, 0x0a, 0x00, 0x09, 0x00, 0x63, 0x00, 0x47, 0xa3, 0xb6, 0x50, 0x00, 0x00,
0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0b, 0x00, 0x70, 0x61,
0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x01, 0x99, 0x07, 0x00, 0x02, 0x00, 0x41, 0x45, 0x03, 0x00,
0x00, 0x21, 0x06, 0x59, 0xc0, 0x12, 0xf3, 0x19, 0xc7, 0x51, 0xd1, 0xc9, 0x31, 0xcb, 0xcc, 0x8a,
0xe1, 0x44, 0xe1, 0x56, 0x20, 0x24, 0x1f, 0xba, 0x09, 0xda, 0x53, 0xd5, 0xef, 0x50, 0x4b, 0x07,
0x08, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x4b, 0x01,
0x02, 0x1f, 0x00, 0x0a, 0x00, 0x09, 0x00, 0x63, 0x00, 0x47, 0xa3, 0xb6, 0x50, 0x00, 0x00, 0x00,
0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x0b, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x61, 0x73, 0x73, 0x77,
0x6f, 0x72, 0x64, 0x01, 0x99, 0x07, 0x00, 0x02, 0x00, 0x41, 0x45, 0x03, 0x00, 0x00, 0x50, 0x4b,
0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x41, 0x00, 0x00, 0x00, 0x5d, 0x00,
0x00, 0x00, 0x00, 0x00,
}))
assert.EqualError(t, err, "zip: unsupported compression algorithm")
}
func TestBrokenFile(t *testing.T) {

14
lib.go
View File

@ -15,7 +15,6 @@ import (
"container/list"
"fmt"
"io"
"log"
"strconv"
"strings"
"unsafe"
@ -59,7 +58,6 @@ func (f *File) saveFileList(name string, content []byte) {
func readFile(file *zip.File) ([]byte, error) {
rc, err := file.Open()
if err != nil {
log.Println(err)
return nil, err
}
dat := make([]byte, 0, file.FileInfo().Size())
@ -176,11 +174,7 @@ func CellNameToCoordinates(cell string) (int, int, error) {
}
col, err := ColumnNameToNumber(colname)
if err != nil {
return -1, -1, fmt.Errorf(msg, cell, err)
}
return col, row, nil
return col, row, err
}
// CoordinatesToCellName converts [X, Y] coordinates to alpha-numeric cell
@ -195,11 +189,7 @@ func CoordinatesToCellName(col, row int) (string, error) {
return "", fmt.Errorf("invalid cell coordinates [%d, %d]", col, row)
}
colname, err := ColumnNumberToName(col)
if err != nil {
// Error should never happens here.
return "", fmt.Errorf("invalid cell coordinates [%d, %d]: %v", col, row, err)
}
return fmt.Sprintf("%s%d", colname, row), nil
return fmt.Sprintf("%s%d", colname, row), err
}
// boolPtr returns a pointer to a bool with the given value.

View File

@ -208,3 +208,9 @@ func TestBytesReplace(t *testing.T) {
s := []byte{0x01}
assert.EqualValues(t, s, bytesReplace(s, []byte{}, []byte{}, 0))
}
func TestStack(t *testing.T) {
s := NewStack()
assert.Equal(t, s.Peek(), nil)
assert.Equal(t, s.Pop(), nil)
}