You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by fa...@apache.org on 2021/11/26 13:28:53 UTC

svn commit: r1895352 - /poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java

Author: fanningpj
Date: Fri Nov 26 13:28:53 2021
New Revision: 1895352

URL: http://svn.apache.org/viewvc?rev=1895352&view=rev
Log:
add test for comment modification

Modified:
    poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java

Modified: poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java?rev=1895352&r1=1895351&r2=1895352&view=diff
==============================================================================
--- poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java (original)
+++ poi/trunk/poi-ooxml/src/test/java/org/apache/poi/xssf/usermodel/TestXSSFComment.java Fri Nov 26 13:28:53 2021
@@ -391,6 +391,21 @@ public final class TestXSSFComment exten
         }
     }
 
+    @Test
+    void testModifiedCommentIsSaved() throws Exception {
+        _testModificationIsSaved(new XSSFWorkbook());
+    }
+
+    @Test
+    void testModifiedCommentIsSavedSXSSF() throws Exception {
+        SXSSFWorkbook workbook = new SXSSFWorkbook();
+        try {
+            _testModificationIsSaved(workbook);
+        } finally {
+            workbook.dispose();
+        }
+    }
+
     private void _testMove(Workbook workbook) throws Exception {
         CommentsTable commentsTable = new CommentsTable();
         try {
@@ -494,4 +509,43 @@ public final class TestXSSFComment exten
             }
         }
     }
+
+    private void _testModificationIsSaved(Workbook workbook) throws Exception {
+        try (UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream()) {
+            CreationHelper factory = workbook.getCreationHelper();
+            Sheet sheet = workbook.createSheet();
+            Row row = sheet.createRow(0);
+            Cell cell = row.createCell(0);
+            cell.setCellValue("CellA1");
+            ClientAnchor anchor = factory.createClientAnchor();
+            anchor.setCol1(0);
+            anchor.setCol2(1);
+            anchor.setRow1(row.getRowNum());
+            anchor.setRow2(row.getRowNum());
+            Drawing drawing = sheet.createDrawingPatriarch();
+            Comment comment = drawing.createCellComment(anchor);
+            comment.setString(factory.createRichTextString("initText"));
+            comment.setAuthor("initAuthor");
+
+            String uniqueText = UUID.randomUUID().toString();
+            comment.setString(factory.createRichTextString(uniqueText));
+            comment.setAuthor("author" + uniqueText);
+
+            workbook.write(bos);
+
+            try (XSSFWorkbook workbook2 = new XSSFWorkbook(bos.toInputStream())) {
+                XSSFSheet wb2Sheet = workbook2.getSheetAt(0);
+                Map<CellAddress, XSSFComment> cellComments = wb2Sheet.getCellComments();
+                assertEquals(1, cellComments.size());
+                CellAddress address0 = (CellAddress) cellComments.keySet().toArray()[0];
+                assertEquals("A1", address0.formatAsString());
+                XSSFComment savedComment = cellComments.get(address0);
+                assertEquals(comment.getString().getString(), savedComment.getString().getString());
+                assertEquals(comment.getAuthor(), savedComment.getAuthor());
+            }
+        } finally {
+            workbook.close();
+        }
+    }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org