From 544ef18a8cb9949fcb8833c6d2816783c90f3318 Mon Sep 17 00:00:00 2001 From: xuri Date: Mon, 5 Jul 2021 00:03:56 +0800 Subject: - Support concurrency iterate rows and columns - Rename exported field `File.XLSX` to `File.Pkg` - Exported error message --- excelize_test.go | 34 +++++++++++++++++++++------------- 1 file changed, 21 insertions(+), 13 deletions(-) (limited to 'excelize_test.go') diff --git a/excelize_test.go b/excelize_test.go index e3cfa53..22e39d1 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -343,13 +343,17 @@ func TestSetCellHyperLink(t *testing.T) { f = NewFile() _, err = f.workSheetReader("Sheet1") assert.NoError(t, err) - f.Sheet["xl/worksheets/sheet1.xml"].Hyperlinks = &xlsxHyperlinks{Hyperlink: make([]xlsxHyperlink, 65530)} + ws, ok := f.Sheet.Load("xl/worksheets/sheet1.xml") + assert.True(t, ok) + ws.(*xlsxWorksheet).Hyperlinks = &xlsxHyperlinks{Hyperlink: make([]xlsxHyperlink, 65530)} assert.EqualError(t, f.SetCellHyperLink("Sheet1", "A65531", "https://github.com/360EntSecGroup-Skylar/excelize", "External"), ErrTotalSheetHyperlinks.Error()) f = NewFile() _, err = f.workSheetReader("Sheet1") assert.NoError(t, err) - f.Sheet["xl/worksheets/sheet1.xml"].MergeCells = &xlsxMergeCells{Cells: []*xlsxMergeCell{{Ref: "A:A"}}} + ws, ok = f.Sheet.Load("xl/worksheets/sheet1.xml") + assert.True(t, ok) + ws.(*xlsxWorksheet).MergeCells = &xlsxMergeCells{Cells: []*xlsxMergeCell{{Ref: "A:A"}}} err = f.SetCellHyperLink("Sheet1", "A1", "https://github.com/360EntSecGroup-Skylar/excelize", "External") assert.EqualError(t, err, `cannot convert cell "A" to coordinates: invalid cell name "A"`) } @@ -376,7 +380,9 @@ func TestGetCellHyperLink(t *testing.T) { f = NewFile() _, err = f.workSheetReader("Sheet1") assert.NoError(t, err) - f.Sheet["xl/worksheets/sheet1.xml"].Hyperlinks = &xlsxHyperlinks{ + ws, ok := f.Sheet.Load("xl/worksheets/sheet1.xml") + assert.True(t, ok) + ws.(*xlsxWorksheet).Hyperlinks = &xlsxHyperlinks{ Hyperlink: []xlsxHyperlink{{Ref: "A1"}}, } link, target, err = f.GetCellHyperLink("Sheet1", "A1") @@ -384,7 +390,9 @@ func TestGetCellHyperLink(t *testing.T) { assert.Equal(t, link, true) assert.Equal(t, target, "") - f.Sheet["xl/worksheets/sheet1.xml"].MergeCells = &xlsxMergeCells{Cells: []*xlsxMergeCell{{Ref: "A:A"}}} + ws, ok = f.Sheet.Load("xl/worksheets/sheet1.xml") + assert.True(t, ok) + ws.(*xlsxWorksheet).MergeCells = &xlsxMergeCells{Cells: []*xlsxMergeCell{{Ref: "A:A"}}} link, target, err = f.GetCellHyperLink("Sheet1", "A1") assert.EqualError(t, err, `cannot convert cell "A" to coordinates: invalid cell name "A"`) assert.Equal(t, link, false) @@ -1112,8 +1120,8 @@ func TestSetSheetRow(t *testing.T) { assert.EqualError(t, f.SetSheetRow("Sheet1", "", &[]interface{}{"cell", nil, 2}), `cannot convert cell "" to coordinates: invalid cell name ""`) - assert.EqualError(t, f.SetSheetRow("Sheet1", "B27", []interface{}{}), `pointer to slice expected`) - assert.EqualError(t, f.SetSheetRow("Sheet1", "B27", &f), `pointer to slice expected`) + assert.EqualError(t, f.SetSheetRow("Sheet1", "B27", []interface{}{}), ErrParameterInvalid.Error()) + assert.EqualError(t, f.SetSheetRow("Sheet1", "B27", &f), ErrParameterInvalid.Error()) assert.NoError(t, f.SaveAs(filepath.Join("test", "TestSetSheetRow.xlsx"))) } @@ -1198,7 +1206,7 @@ func TestContentTypesReader(t *testing.T) { // Test unsupported charset. f := NewFile() f.ContentTypes = nil - f.XLSX["[Content_Types].xml"] = MacintoshCyrillicCharset + f.Pkg.Store("[Content_Types].xml", MacintoshCyrillicCharset) f.contentTypesReader() } @@ -1206,22 +1214,22 @@ func TestWorkbookReader(t *testing.T) { // Test unsupported charset. f := NewFile() f.WorkBook = nil - f.XLSX["xl/workbook.xml"] = MacintoshCyrillicCharset + f.Pkg.Store("xl/workbook.xml", MacintoshCyrillicCharset) f.workbookReader() } func TestWorkSheetReader(t *testing.T) { // Test unsupported charset. f := NewFile() - delete(f.Sheet, "xl/worksheets/sheet1.xml") - f.XLSX["xl/worksheets/sheet1.xml"] = MacintoshCyrillicCharset + f.Sheet.Delete("xl/worksheets/sheet1.xml") + f.Pkg.Store("xl/worksheets/sheet1.xml", MacintoshCyrillicCharset) _, err := f.workSheetReader("Sheet1") assert.EqualError(t, err, "xml decode error: XML syntax error on line 1: invalid UTF-8") // Test on no checked worksheet. f = NewFile() - delete(f.Sheet, "xl/worksheets/sheet1.xml") - f.XLSX["xl/worksheets/sheet1.xml"] = []byte(``) + f.Sheet.Delete("xl/worksheets/sheet1.xml") + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(``)) f.checked = nil _, err = f.workSheetReader("Sheet1") assert.NoError(t, err) @@ -1232,7 +1240,7 @@ func TestRelsReader(t *testing.T) { f := NewFile() rels := "xl/_rels/workbook.xml.rels" f.Relationships.Store(rels, nil) - f.XLSX[rels] = MacintoshCyrillicCharset + f.Pkg.Store(rels, MacintoshCyrillicCharset) f.relsReader(rels) } -- cgit v1.2.1