]> source.dussan.org Git - poi.git/commitdiff
add comment tests
authorPJ Fanning <fanningpj@apache.org>
Sun, 21 Nov 2021 17:47:47 +0000 (17:47 +0000)
committerPJ Fanning <fanningpj@apache.org>
Sun, 21 Nov 2021 17:47:47 +0000 (17:47 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1895242 13f79535-47bb-0310-9956-ffa450edef68

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

index 28c73d7ba5a8c3752f55ea4f0aa3e87347966b6d..23756e0f93bc73bcaf8308730e3842361052c7bc 100644 (file)
@@ -381,46 +381,19 @@ public final class TestXSSFComment extends BaseTestCellComment {
 
     @Test
     void testMoveCommentIsSaved() throws Exception {
-        try (
-                UnsynchronizedByteArrayOutputStream bos = new UnsynchronizedByteArrayOutputStream();
-                XSSFWorkbook workbook = new XSSFWorkbook();
-        ) {
-            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);
-            String uniqueText = UUID.randomUUID().toString();
-            comment.setString(factory.createRichTextString(uniqueText));
-            comment.setAuthor("author" + uniqueText);
-            Comment comment1 = sheet.getCellComment(new CellAddress("A1"));
-            assertEquals(comment.getString().getString(), comment1.getString().getString());
-
-            comment.setAddress(1, 1);
-            Comment comment2 = sheet.getCellComment(new CellAddress("B2"));
-            assertEquals(comment.getString().getString(), comment2.getString().getString());
-            assertNull( sheet.getCellComment(new CellAddress("A1")), "comment still found on A1?");
-
-            workbook.write(bos);
+        _testMoveIsSaved(new XSSFWorkbook());
+    }
 
-            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("B2", address0.formatAsString());
-            }
+    @Test
+    void testMoveCommentIsSavedSXSSF() throws Exception {
+        SXSSFWorkbook workbook = new SXSSFWorkbook();
+        try {
+            _testMoveIsSaved(workbook);
+        } finally {
+            workbook.dispose();
         }
     }
 
-
     private void _testMove(Workbook workbook) throws Exception {
         CommentsTable commentsTable = new CommentsTable();
         try {
@@ -487,4 +460,41 @@ public final class TestXSSFComment extends BaseTestCellComment {
             workbook.close();
         }
     }
+
+    private void _testMoveIsSaved(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);
+            String uniqueText = UUID.randomUUID().toString();
+            comment.setString(factory.createRichTextString(uniqueText));
+            comment.setAuthor("author" + uniqueText);
+            Comment comment1 = sheet.getCellComment(new CellAddress("A1"));
+            assertEquals(comment.getString().getString(), comment1.getString().getString());
+
+            comment.setAddress(1, 1);
+            Comment comment2 = sheet.getCellComment(new CellAddress("B2"));
+            assertEquals(comment.getString().getString(), comment2.getString().getString());
+            assertNull( sheet.getCellComment(new CellAddress("A1")), "comment still found on A1?");
+
+            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("B2", address0.formatAsString());
+            }
+        }
+    }
 }