diff options
author | xuri <xuri.me@gmail.com> | 2022-01-23 00:32:34 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2022-01-23 00:48:26 +0800 |
commit | 3ee3c38f9c63de3782fad21aae9c05ee0530fc32 (patch) | |
tree | 153928b23d79d259f6030cd902c836162f84e345 /excelize_test.go | |
parent | 74f6ea94eae45c8fb89a23cc94802e57ce279a84 (diff) |
Fix file corrupted in some cases, check file extension and format code
Fix file corrupted when save as in XLAM / XLSM / XLTM / XLTX extension in some case
New exported error ErrWorkbookExt has been added, and check file extension on save the workbook
Format source code with `gofumpt`
Diffstat (limited to 'excelize_test.go')
-rw-r--r-- | excelize_test.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/excelize_test.go b/excelize_test.go index c78797d..1548cc6 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -175,7 +175,10 @@ func TestSaveFile(t *testing.T) { if !assert.NoError(t, err) { t.FailNow() } - assert.NoError(t, f.SaveAs(filepath.Join("test", "TestSaveFile.xlsx"))) + assert.EqualError(t, f.SaveAs(filepath.Join("test", "TestSaveFile.xlsb")), ErrWorkbookExt.Error()) + for _, ext := range []string{".xlam", ".xlsm", ".xlsx", ".xltm", ".xltx"} { + assert.NoError(t, f.SaveAs(filepath.Join("test", fmt.Sprintf("TestSaveFile%s", ext)))) + } assert.NoError(t, f.Close()) f, err = OpenFile(filepath.Join("test", "TestSaveFile.xlsx")) if !assert.NoError(t, err) { @@ -189,7 +192,7 @@ func TestSaveAsWrongPath(t *testing.T) { f, err := OpenFile(filepath.Join("test", "Book1.xlsx")) assert.NoError(t, err) // Test write file to not exist directory. - assert.EqualError(t, f.SaveAs(""), "open .: is a directory") + assert.Error(t, f.SaveAs(filepath.Join("x", "Book1.xlsx"))) assert.NoError(t, f.Close()) } @@ -1305,7 +1308,8 @@ func TestDeleteSheetFromWorkbookRels(t *testing.T) { func TestAttrValToInt(t *testing.T) { _, err := attrValToInt("r", []xml.Attr{ - {Name: xml.Name{Local: "r"}, Value: "s"}}) + {Name: xml.Name{Local: "r"}, Value: "s"}, + }) assert.EqualError(t, err, `strconv.Atoi: parsing "s": invalid syntax`) } |