summaryrefslogtreecommitdiff
path: root/rows_test.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2021-09-18 23:20:24 +0800
committerxuri <xuri.me@gmail.com>2021-09-19 11:06:54 +0800
commit790c363cceaaa09e91ad579e2d25cb13c1582bba (patch)
treeb5747f30edeac96a7fdadec574f1a5b1d332ca18 /rows_test.go
parent2add938798cdd1456616869298319528b0c76913 (diff)
This closes #833, closes #845, and closes #1022, breaking changes
- Close spreadsheet and row's iterator required - New options `WorksheetUnzipMemLimit` have been added - Improve streaming reading performance, memory usage decrease about 93.7%
Diffstat (limited to 'rows_test.go')
-rw-r--r--rows_test.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/rows_test.go b/rows_test.go
index c0dc1d8..0ebe59d 100644
--- a/rows_test.go
+++ b/rows_test.go
@@ -32,6 +32,7 @@ func TestRows(t *testing.T) {
if !assert.NoError(t, rows.Error()) {
t.FailNow()
}
+ assert.NoError(t, rows.Close())
returnedRows, err := f.GetRows(sheet2)
assert.NoError(t, err)
@@ -41,6 +42,7 @@ func TestRows(t *testing.T) {
if !assert.Equal(t, collectedRows, returnedRows) {
t.FailNow()
}
+ assert.NoError(t, f.Close())
f = NewFile()
f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(`<worksheet><sheetData><row r="1"><c r="A1" t="s"><v>1</v></c></row><row r="A"><c r="2" t="str"><v>B</v></c></row></sheetData></worksheet>`))
@@ -52,6 +54,14 @@ func TestRows(t *testing.T) {
f.Pkg.Store("xl/worksheets/sheet1.xml", nil)
_, err = f.Rows("Sheet1")
assert.NoError(t, err)
+
+ // Test reload the file to memory from system temporary directory.
+ f, err = OpenFile(filepath.Join("test", "Book1.xlsx"), Options{WorksheetUnzipMemLimit: 1024})
+ assert.NoError(t, err)
+ value, err := f.GetCellValue("Sheet1", "A19")
+ assert.NoError(t, err)
+ assert.Equal(t, "Total:", value)
+ assert.NoError(t, f.Close())
}
func TestRowsIterator(t *testing.T) {
@@ -70,6 +80,8 @@ func TestRowsIterator(t *testing.T) {
require.True(t, rowCount <= expectedNumRow, "rowCount is greater than expected")
}
assert.Equal(t, expectedNumRow, rowCount)
+ assert.NoError(t, rows.Close())
+ assert.NoError(t, f.Close())
// Valued cell sparse distribution test
f = NewFile()
@@ -94,6 +106,7 @@ func TestRowsError(t *testing.T) {
}
_, err = f.Rows("SheetN")
assert.EqualError(t, err, "sheet SheetN is not exist")
+ assert.NoError(t, f.Close())
}
func TestRowHeight(t *testing.T) {
@@ -871,6 +884,11 @@ func TestGetValueFromNumber(t *testing.T) {
}
}
+func TestRoundPrecision(t *testing.T) {
+ _, err := roundPrecision("")
+ assert.EqualError(t, err, "strconv.ParseFloat: parsing \"\": invalid syntax")
+}
+
func TestErrSheetNotExistError(t *testing.T) {
err := ErrSheetNotExist{SheetName: "Sheet1"}
assert.EqualValues(t, err.Error(), "sheet Sheet1 is not exist")
@@ -920,6 +938,7 @@ func TestNumberFormats(t *testing.T) {
cells = append(cells, col)
}
assert.Equal(t, []string{"", "200", "450", "200", "510", "315", "127", "89", "348", "53", "37"}, cells[3])
+ assert.NoError(t, f.Close())
}
func BenchmarkRows(b *testing.B) {
@@ -934,6 +953,12 @@ func BenchmarkRows(b *testing.B) {
}
}
}
+ if err := rows.Close(); err != nil {
+ b.Error(err)
+ }
+ }
+ if err := f.Close(); err != nil {
+ b.Error(err)
}
}