summaryrefslogtreecommitdiff
path: root/comment_test.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2020-05-22 16:53:46 +0800
committerGitHub <noreply@github.com>2020-05-22 16:53:46 +0800
commitec14de32f0c06f7a26b6b79578f666c0cc50b72c (patch)
treec6ebd61a7d9a7da5b993ffb82e4fb6c036e75d6a /comment_test.go
parentaa7eadbffe6ae2f9f86201bbaaa4c1d1e8829cae (diff)
parent2efc7107ff30dc7f1e1a798082616ee488f99489 (diff)
Merge branch 'master' into fix/cell_lock
Diffstat (limited to 'comment_test.go')
-rw-r--r--comment_test.go63
1 files changed, 63 insertions, 0 deletions
diff --git a/comment_test.go b/comment_test.go
new file mode 100644
index 0000000..955d4e8
--- /dev/null
+++ b/comment_test.go
@@ -0,0 +1,63 @@
+// Copyright 2016 - 2020 The excelize Authors. All rights reserved. Use of
+// this source code is governed by a BSD-style license that can be found in
+// the LICENSE file.
+//
+// Package excelize providing a set of functions that allow you to write to
+// and read from XLSX files. Support reads and writes XLSX file generated by
+// Microsoft Excelâ„¢ 2007 and later. Support save file without losing original
+// charts of XLSX. This library needs Go version 1.10 or later.
+
+package excelize
+
+import (
+ "path/filepath"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestAddComments(t *testing.T) {
+ f, err := prepareTestBook1()
+ if !assert.NoError(t, err) {
+ t.FailNow()
+ }
+
+ s := strings.Repeat("c", 32768)
+ assert.NoError(t, f.AddComment("Sheet1", "A30", `{"author":"`+s+`","text":"`+s+`"}`))
+ assert.NoError(t, f.AddComment("Sheet2", "B7", `{"author":"Excelize: ","text":"This is a comment."}`))
+
+ // Test add comment on not exists worksheet.
+ assert.EqualError(t, f.AddComment("SheetN", "B7", `{"author":"Excelize: ","text":"This is a comment."}`), "sheet SheetN is not exist")
+ // Test add comment on with illegal cell coordinates
+ assert.EqualError(t, f.AddComment("Sheet1", "A", `{"author":"Excelize: ","text":"This is a comment."}`), `cannot convert cell "A" to coordinates: invalid cell name "A"`)
+ if assert.NoError(t, f.SaveAs(filepath.Join("test", "TestAddComments.xlsx"))) {
+ assert.Len(t, f.GetComments(), 2)
+ }
+
+ f.Comments["xl/comments2.xml"] = nil
+ f.XLSX["xl/comments2.xml"] = []byte(`<?xml version="1.0" encoding="UTF-8" standalone="yes"?><comments xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><authors><author>Excelize: </author></authors><commentList><comment ref="B7" authorId="0"><text><t>Excelize: </t></text></comment></commentList></comments>`)
+ comments := f.GetComments()
+ assert.EqualValues(t, 2, len(comments["Sheet1"]))
+ assert.EqualValues(t, 1, len(comments["Sheet2"]))
+}
+
+func TestDecodeVMLDrawingReader(t *testing.T) {
+ f := NewFile()
+ path := "xl/drawings/vmlDrawing1.xml"
+ f.XLSX[path] = MacintoshCyrillicCharset
+ f.decodeVMLDrawingReader(path)
+}
+
+func TestCommentsReader(t *testing.T) {
+ f := NewFile()
+ path := "xl/comments1.xml"
+ f.XLSX[path] = MacintoshCyrillicCharset
+ f.commentsReader(path)
+}
+
+func TestCountComments(t *testing.T) {
+ f := NewFile()
+ f.Comments["xl/comments1.xml"] = nil
+ assert.Equal(t, f.countComments(), 1)
+}