summaryrefslogtreecommitdiff
path: root/cellmerged_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'cellmerged_test.go')
-rw-r--r--cellmerged_test.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/cellmerged_test.go b/cellmerged_test.go
index d53acc2..0c5ac76 100644
--- a/cellmerged_test.go
+++ b/cellmerged_test.go
@@ -52,3 +52,39 @@ func TestGetMergeCells(t *testing.T) {
_, err = f.GetMergeCells("SheetN")
assert.EqualError(t, err, "sheet SheetN is not exist")
}
+
+func TestUnmergeCell(t *testing.T) {
+ f, err := OpenFile(filepath.Join("test", "MergeCell.xlsx"))
+ if !assert.NoError(t, err) {
+ t.FailNow()
+ }
+ sheet1 := f.GetSheetName(1)
+
+ xlsx, err := f.workSheetReader(sheet1)
+ assert.NoError(t, err)
+
+ mergeCellNum := len(xlsx.MergeCells.Cells)
+
+ assert.EqualError(t, f.UnmergeCell("Sheet1", "A", "A"), `cannot convert cell "A" to coordinates: invalid cell name "A"`)
+
+ // unmerge the mergecell that contains A1
+ err = f.UnmergeCell(sheet1, "A1", "A1")
+ assert.NoError(t, err)
+
+ if len(xlsx.MergeCells.Cells) != mergeCellNum-1 {
+ t.FailNow()
+ }
+
+ // unmerge area A7:D3(A3:D7)
+ // this will unmerge all since this area overlaps with all others
+ err = f.UnmergeCell(sheet1, "D7", "A3")
+ assert.NoError(t, err)
+
+ if len(xlsx.MergeCells.Cells) != 0 {
+ t.FailNow()
+ }
+
+ // Test unmerged area on not exists worksheet.
+ err = f.UnmergeCell("SheetN", "A1", "A1")
+ assert.EqualError(t, err, "sheet SheetN is not exist")
+}