3 Star 0 Fork 1

Gitee 极速下载 / tealeg-xlsx

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/tealeg/xlsx
克隆/下载
memory_test.go 3.94 KB
一键复制 编辑 原始数据 按行查看 历史
Geoffrey J. Teale 提交于 2021-04-15 06:38 . gofmt
package xlsx
import (
"testing"
qt "github.com/frankban/quicktest"
)
func TestMemoryCellStore(t *testing.T) {
c := qt.New(t)
c.Run("RowNotFoundError", func(c *qt.C) {
memoryCs, err := NewMemoryCellStore()
c.Assert(err, qt.IsNil)
cs, ok := memoryCs.(*MemoryCellStore)
c.Assert(ok, qt.Equals, true)
defer cs.Close()
row, err := cs.ReadRow("I don't exist", nil)
c.Assert(err, qt.Not(qt.IsNil))
c.Assert(row, qt.IsNil)
_, ok = err.(*RowNotFoundError)
c.Assert(ok, qt.Equals, true)
})
c.Run("Write and Read Row", func(c *qt.C) {
mCs, err := NewMemoryCellStore()
c.Assert(err, qt.IsNil)
cs, ok := mCs.(*MemoryCellStore)
c.Assert(ok, qt.Equals, true)
defer cs.Close()
s := &Style{
Border: Border{
Left: "left",
LeftColor: "leftColor",
Right: "right",
RightColor: "rightColor",
Top: "top",
TopColor: "topColor",
Bottom: "bottom",
BottomColor: "bottomColor",
},
Fill: Fill{
PatternType: "PatternType",
BgColor: "BgColor",
FgColor: "FgColor",
},
Font: Font{
Size: 1,
Name: "Font",
Family: 2,
Charset: 3,
Color: "Red",
Bold: true,
Italic: true,
Underline: true,
},
Alignment: Alignment{
Horizontal: "left",
Indent: 1,
ShrinkToFit: true,
TextRotation: 90,
Vertical: "top",
WrapText: true,
},
ApplyBorder: true,
ApplyFill: true,
ApplyFont: true,
ApplyAlignment: true,
}
dv := &xlsxDataValidation{
AllowBlank: true,
ShowInputMessage: true,
ShowErrorMessage: true,
Type: "type",
Sqref: "sqref",
Formula1: "formula1",
Formula2: "formula1",
Operator: "operator",
}
rt := []RichTextRun{
{
Font: &RichTextFont{Bold: true},
Text: "bold",
},
{
Text: "normal",
},
}
file := NewFile()
sheet, _ := file.AddSheet("Test")
row := sheet.AddRow()
cell := row.AddCell()
cell.Value = "value"
cell.RichText = rt
cell.formula = "formula"
cell.style = s
cell.NumFmt = "numFmt"
cell.date1904 = true
cell.Hidden = true
cell.HMerge = 49
cell.VMerge = 50
cell.cellType = CellType(2)
cell.DataValidation = dv
cell.Hyperlink = Hyperlink{
DisplayString: "displaystring",
Link: "link",
Tooltip: "tooltip",
}
err = cs.WriteRow(row)
c.Assert(err, qt.IsNil)
row2, err := cs.ReadRow(row.key(), sheet)
c.Assert(err, qt.IsNil)
c.Assert(row2, qt.Not(qt.IsNil))
c.Assert(row.Hidden, qt.Equals, row2.Hidden)
c.Assert(row.GetHeight(), qt.Equals, row2.GetHeight())
c.Assert(row.GetOutlineLevel(), qt.Equals, row2.GetOutlineLevel())
c.Assert(row.isCustom, qt.Equals, row2.isCustom)
c.Assert(row.num, qt.Equals, row2.num)
c.Assert(row.cellStoreRow.CellCount(), qt.Equals, row2.cellStoreRow.CellCount())
cell2 := row.GetCell(0)
c.Assert(err, qt.IsNil)
c.Assert(cell.Value, qt.Equals, cell2.Value)
c.Assert(cell.RichText, qt.DeepEquals, cell2.RichText)
c.Assert(cell.formula, qt.Equals, cell2.formula)
c.Assert(cell.NumFmt, qt.Equals, cell2.NumFmt)
c.Assert(cell.date1904, qt.Equals, cell2.date1904)
c.Assert(cell.Hidden, qt.Equals, cell2.Hidden)
c.Assert(cell.HMerge, qt.Equals, cell2.HMerge)
c.Assert(cell.VMerge, qt.Equals, cell2.VMerge)
c.Assert(cell.cellType, qt.Equals, cell2.cellType)
c.Assert(*cell.DataValidation, qt.DeepEquals, *cell2.DataValidation)
c.Assert(cell.Hyperlink, qt.DeepEquals, cell2.Hyperlink)
c.Assert(cell.num, qt.Equals, cell2.num)
s2 := cell2.style
c.Assert(s2.Border, qt.DeepEquals, s.Border)
c.Assert(s2.Fill, qt.DeepEquals, s.Fill)
c.Assert(s2.Font, qt.DeepEquals, s.Font)
c.Assert(s2.Alignment, qt.DeepEquals, s.Alignment)
c.Assert(s2.ApplyBorder, qt.Equals, s.ApplyBorder)
c.Assert(s2.ApplyFill, qt.Equals, s.ApplyFill)
c.Assert(s2.ApplyFont, qt.Equals, s.ApplyFont)
c.Assert(s2.ApplyAlignment, qt.Equals, s.ApplyAlignment)
})
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors/tealeg-xlsx.git
git@gitee.com:mirrors/tealeg-xlsx.git
mirrors
tealeg-xlsx
tealeg-xlsx
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891