summaryrefslogtreecommitdiff
path: root/rows_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'rows_test.go')
-rw-r--r--rows_test.go37
1 files changed, 36 insertions, 1 deletions
diff --git a/rows_test.go b/rows_test.go
index c469c01..246233f 100644
--- a/rows_test.go
+++ b/rows_test.go
@@ -817,7 +817,7 @@ func TestDuplicateMergeCells(t *testing.T) {
assert.EqualError(t, f.duplicateMergeCells("SheetN", xlsx, 1, 2), "sheet SheetN is not exist")
}
-func TestGetValueFrom(t *testing.T) {
+func TestGetValueFromInlineStr(t *testing.T) {
c := &xlsxC{T: "inlineStr"}
f := NewFile()
d := &xlsxSST{}
@@ -826,6 +826,20 @@ func TestGetValueFrom(t *testing.T) {
assert.Equal(t, "", val)
}
+func TestGetValueFromNumber(t *testing.T) {
+ c := &xlsxC{T: "n", V: "2.2200000000000002"}
+ f := NewFile()
+ d := &xlsxSST{}
+ val, err := c.getValueFrom(f, d)
+ assert.NoError(t, err)
+ assert.Equal(t, "2.22", val)
+
+ c = &xlsxC{T: "n", V: "2.220000ddsf0000000002-r"}
+ val, err = c.getValueFrom(f, d)
+ assert.NotNil(t, err)
+ assert.Equal(t, "strconv.ParseFloat: parsing \"2.220000ddsf0000000002-r\": invalid syntax", err.Error())
+}
+
func TestErrSheetNotExistError(t *testing.T) {
err := ErrSheetNotExist{SheetName: "Sheet1"}
assert.EqualValues(t, err.Error(), "sheet Sheet1 is not exist")
@@ -842,6 +856,27 @@ func TestCheckRow(t *testing.T) {
assert.EqualError(t, f.SetCellValue("Sheet1", "A1", false), `cannot convert cell "-" to coordinates: invalid cell name "-"`)
}
+func TestNumberFormats(t *testing.T) {
+ f, err := OpenFile(filepath.Join("test", "Book1.xlsx"))
+ if !assert.NoError(t, err) {
+ t.FailNow()
+ }
+ cells := make([][]string, 0)
+ cols, err := f.Cols("Sheet2")
+ if !assert.NoError(t, err) {
+ t.FailNow()
+ }
+ for cols.Next() {
+ col, err := cols.Rows()
+ assert.NoError(t, err)
+ if err != nil {
+ break
+ }
+ cells = append(cells, col)
+ }
+ assert.Equal(t, []string{"", "200", "450", "200", "510", "315", "127", "89", "348", "53", "37"}, cells[3])
+}
+
func BenchmarkRows(b *testing.B) {
f, _ := OpenFile(filepath.Join("test", "Book1.xlsx"))
for i := 0; i < b.N; i++ {