diff options
author | Xudong Zhang <zxdvd@users.noreply.github.com> | 2019-12-13 21:43:59 +0800 |
---|---|---|
committer | xuri <xuri.me@gmail.com> | 2019-12-13 21:43:59 +0800 |
commit | 4c433c57e65734094f959d25b50f138a6ca88020 (patch) | |
tree | d8245e617b8f8942fe5307c5a477eb5884f7aa5a /cellmerged_test.go | |
parent | 5d8365ca17240f5b144d437a7b47052f22c4f3c6 (diff) |
Resolve #527, unmerge an area (#528)
Diffstat (limited to 'cellmerged_test.go')
-rw-r--r-- | cellmerged_test.go | 36 |
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") +} |