diff options
author | Artem Kustikov <artem.kustikov@gmail.com> | 2020-10-04 16:07:39 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-04 21:07:39 +0800 |
commit | f2b8798a34aab4411a50861a4cdf47203edc3a19 (patch) | |
tree | 356fa1ee9d5a1324fdc0cb2111cfdd1b265ed82b /rows_test.go | |
parent | 9055a835a8c77b757e14cde22cc9daa3f9f0c66c (diff) |
extend cell value load to support custom datetime format (#703)
* extend cell value load to support custom datetime format
* cleanup incorrect imports
* fix numeric values conversion as done in legacy Excel
* fix tests coverage
* revert temporary package name fix
* remove personal info from test XLSX files
* remove unused dependencies
* update format conversion in parseTime
* new UT to increase code coverage
* Resolve code review issue for PR #703
* Rename broken file name generated by unit test
Co-authored-by: xuri <xuri.me@gmail.com>
Diffstat (limited to 'rows_test.go')
-rw-r--r-- | rows_test.go | 37 |
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++ { |