From 577a07f08c6121d627323db00fdf9e74989a5515 Mon Sep 17 00:00:00 2001 From: xuri Date: Fri, 3 Dec 2021 00:19:11 +0800 Subject: Simplify code and update unit test Improve unit test coverage for the functions: `NewStyle`, `SetActiveSheet`, `SearchSheet` and `deleteAndAdjustDefinedNames` Simplify code and add comments for the function: `deleteAndAdjustDefinedNames` --- sheet_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'sheet_test.go') diff --git a/sheet_test.go b/sheet_test.go index 93a4ab6..d33ba99 100644 --- a/sheet_test.go +++ b/sheet_test.go @@ -196,6 +196,24 @@ func TestSearchSheet(t *testing.T) { assert.NoError(t, f.SetCellValue("Sheet1", "A1", true)) _, err = f.SearchSheet("Sheet1", "") assert.NoError(t, err) + + f = NewFile() + f.Sheet.Delete("xl/worksheets/sheet1.xml") + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(`A`)) + f.checked = nil + result, err = f.SearchSheet("Sheet1", "A") + assert.EqualError(t, err, "strconv.Atoi: parsing \"A\": invalid syntax") + assert.Equal(t, []string(nil), result) + + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(`A`)) + result, err = f.SearchSheet("Sheet1", "A") + assert.EqualError(t, err, "cannot convert cell \"A\" to coordinates: invalid cell name \"A\"") + assert.Equal(t, []string(nil), result) + + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(`A`)) + result, err = f.SearchSheet("Sheet1", "A") + assert.EqualError(t, err, "invalid cell coordinates [1, 0]") + assert.Equal(t, []string(nil), result) } func TestSetPageLayout(t *testing.T) { @@ -370,6 +388,14 @@ func TestSetActiveSheet(t *testing.T) { f = NewFile() f.SetActiveSheet(-1) assert.Equal(t, f.GetActiveSheetIndex(), 0) + + f = NewFile() + f.WorkBook.BookViews = nil + idx := f.NewSheet("Sheet2") + ws, ok = f.Sheet.Load("xl/worksheets/sheet2.xml") + assert.True(t, ok) + ws.(*xlsxWorksheet).SheetViews = &xlsxSheetViews{SheetView: []xlsxSheetView{}} + f.SetActiveSheet(idx) } func TestSetSheetName(t *testing.T) { @@ -414,6 +440,11 @@ func TestDeleteSheet(t *testing.T) { assert.NoError(t, f.SaveAs(filepath.Join("test", "TestDeleteSheet2.xlsx"))) } +func TestDeleteAndAdjustDefinedNames(t *testing.T) { + deleteAndAdjustDefinedNames(nil, 0) + deleteAndAdjustDefinedNames(&xlsxWorkbook{}, 0) +} + func BenchmarkNewSheet(b *testing.B) { b.RunParallel(func(pb *testing.PB) { for pb.Next() { -- cgit v1.2.1