You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by on...@apache.org on 2016/05/09 03:27:32 UTC
svn commit: r1742865 - in
/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel:
AllUserModelTests.java TestComment.java TestHSSFComment.java
Author: onealj
Date: Mon May 9 03:27:32 2016
New Revision: 1742865
URL: http://svn.apache.org/viewvc?rev=1742865&view=rev
Log:
merge TestComment into TestHSSFComment
Removed:
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestComment.java
Modified:
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java
poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java?rev=1742865&r1=1742864&r2=1742865&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/AllUserModelTests.java Mon May 9 03:27:32 2016
@@ -38,7 +38,7 @@ import org.junit.runners.Suite;
TestFormulas.class,
TestHSSFCell.class,
TestHSSFClientAnchor.class,
- TestHSSFComment.class,
+ //TestHSSFComment.class, //converted to junit4
TestHSSFConditionalFormatting.class,
TestHSSFDataFormat.class,
TestHSSFDataFormatter.class,
Modified: poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java?rev=1742865&r1=1742864&r2=1742865&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFComment.java Mon May 9 03:27:32 2016
@@ -16,11 +16,23 @@
==================================================================== */
package org.apache.poi.hssf.usermodel;
+import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import java.io.IOException;
+
+import org.apache.poi.ddf.EscherSpRecord;
import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.HSSFTestDataSamples;
+import org.apache.poi.hssf.model.CommentShape;
+import org.apache.poi.hssf.model.HSSFTestModelHelper;
+import org.apache.poi.hssf.record.CommonObjectDataSubRecord;
+import org.apache.poi.hssf.record.EscherAggregate;
+import org.apache.poi.hssf.record.NoteRecord;
+import org.apache.poi.hssf.record.ObjRecord;
+import org.apache.poi.hssf.record.TextObjectRecord;
import org.apache.poi.ss.usermodel.BaseTestCellComment;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.ClientAnchor;
@@ -187,5 +199,279 @@ public final class TestHSSFComment exten
cell.setCellComment(comment);
return comment;
- }
+ }
+
+ @Test
+ public void resultEqualsToAbstractShape() throws IOException {
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+ HSSFRow row = sh.createRow(0);
+ HSSFCell cell = row.createCell(0);
+ cell.setCellComment(comment);
+
+ CommentShape commentShape = HSSFTestModelHelper.createCommentShape(1025, comment);
+
+ assertEquals(comment.getEscherContainer().getChildRecords().size(), 5);
+ assertEquals(commentShape.getSpContainer().getChildRecords().size(), 5);
+
+ //sp record
+ byte[] expected = commentShape.getSpContainer().getChild(0).serialize();
+ byte[] actual = comment.getEscherContainer().getChild(0).serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ expected = commentShape.getSpContainer().getChild(2).serialize();
+ actual = comment.getEscherContainer().getChild(2).serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ expected = commentShape.getSpContainer().getChild(3).serialize();
+ actual = comment.getEscherContainer().getChild(3).serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ expected = commentShape.getSpContainer().getChild(4).serialize();
+ actual = comment.getEscherContainer().getChild(4).serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ ObjRecord obj = comment.getObjRecord();
+ ObjRecord objShape = commentShape.getObjRecord();
+
+ expected = obj.serialize();
+ actual = objShape.serialize();
+
+ assertEquals(expected.length, actual.length);
+ //assertArrayEquals(expected, actual);
+
+ TextObjectRecord tor = comment.getTextObjectRecord();
+ TextObjectRecord torShape = commentShape.getTextObjectRecord();
+
+ expected = tor.serialize();
+ actual = torShape.serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ NoteRecord note = comment.getNoteRecord();
+ NoteRecord noteShape = commentShape.getNoteRecord();
+
+ expected = note.serialize();
+ actual = noteShape.serialize();
+
+ assertEquals(expected.length, actual.length);
+ assertArrayEquals(expected, actual);
+
+ wb.close();
+ }
+
+ @Test
+ public void addToExistingFile() throws IOException {
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+ int idx = wb.addPicture(new byte[]{1,2,3}, HSSFWorkbook.PICTURE_TYPE_PNG);
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+ comment.setColumn(5);
+ comment.setString(new HSSFRichTextString("comment1"));
+ comment = patriarch.createCellComment(new HSSFClientAnchor(0,0,100,100,(short)0,0,(short)10,10));
+ comment.setRow(5);
+ comment.setString(new HSSFRichTextString("comment2"));
+ comment.setBackgroundImage(idx);
+ assertEquals(comment.getBackgroundImageId(), idx);
+
+ assertEquals(patriarch.getChildren().size(), 2);
+
+ HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
+ sh = wbBack.getSheetAt(0);
+ patriarch = sh.getDrawingPatriarch();
+
+ comment = (HSSFComment) patriarch.getChildren().get(1);
+ assertEquals(comment.getBackgroundImageId(), idx);
+ comment.resetBackgroundImage();
+ assertEquals(comment.getBackgroundImageId(), 0);
+
+ assertEquals(patriarch.getChildren().size(), 2);
+ comment = patriarch.createCellComment(new HSSFClientAnchor());
+ comment.setString(new HSSFRichTextString("comment3"));
+
+ assertEquals(patriarch.getChildren().size(), 3);
+ HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack);
+ sh = wbBack2.getSheetAt(0);
+ patriarch = sh.getDrawingPatriarch();
+ comment = (HSSFComment) patriarch.getChildren().get(1);
+ assertEquals(comment.getBackgroundImageId(), 0);
+ assertEquals(patriarch.getChildren().size(), 3);
+ assertEquals(((HSSFComment) patriarch.getChildren().get(0)).getString().getString(), "comment1");
+ assertEquals(((HSSFComment) patriarch.getChildren().get(1)).getString().getString(), "comment2");
+ assertEquals(((HSSFComment) patriarch.getChildren().get(2)).getString().getString(), "comment3");
+
+ wb.close();
+ wbBack.close();
+ wbBack2.close();
+ }
+
+ @Test
+ public void setGetProperties() throws IOException {
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+ comment.setString(new HSSFRichTextString("comment1"));
+ assertEquals(comment.getString().getString(), "comment1");
+
+ comment.setAuthor("poi");
+ assertEquals(comment.getAuthor(), "poi");
+
+ comment.setColumn(3);
+ assertEquals(comment.getColumn(), 3);
+
+ comment.setRow(4);
+ assertEquals(comment.getRow(), 4);
+
+ comment.setVisible(false);
+ assertEquals(comment.isVisible(), false);
+
+ HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
+ sh = wbBack.getSheetAt(0);
+ patriarch = sh.getDrawingPatriarch();
+
+ comment = (HSSFComment) patriarch.getChildren().get(0);
+
+ assertEquals(comment.getString().getString(), "comment1");
+ assertEquals("poi", comment.getAuthor());
+ assertEquals(comment.getColumn(), 3);
+ assertEquals(comment.getRow(), 4);
+ assertEquals(comment.isVisible(), false);
+
+ comment.setString(new HSSFRichTextString("comment12"));
+ comment.setAuthor("poi2");
+ comment.setColumn(32);
+ comment.setRow(42);
+ comment.setVisible(true);
+
+ HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack);
+ sh = wbBack2.getSheetAt(0);
+ patriarch = sh.getDrawingPatriarch();
+ comment = (HSSFComment) patriarch.getChildren().get(0);
+
+ assertEquals(comment.getString().getString(), "comment12");
+ assertEquals("poi2", comment.getAuthor());
+ assertEquals(comment.getColumn(), 32);
+ assertEquals(comment.getRow(), 42);
+ assertEquals(comment.isVisible(), true);
+
+ wb.close();
+ wbBack.close();
+ wbBack2.close();
+ }
+
+ @Test
+ public void existingFileWithComment(){
+ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
+ HSSFSheet sheet = wb.getSheet("comments");
+ HSSFPatriarch drawing = sheet.getDrawingPatriarch();
+ assertEquals(1, drawing.getChildren().size());
+ HSSFComment comment = (HSSFComment) drawing.getChildren().get(0);
+ assertEquals(comment.getAuthor(), "evgeniy");
+ assertEquals(comment.getString().getString(), "evgeniy:\npoi test");
+ assertEquals(comment.getColumn(), 1);
+ assertEquals(comment.getRow(), 2);
+ }
+
+ @Test
+ public void findComments() throws IOException{
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+ HSSFRow row = sh.createRow(5);
+ HSSFCell cell = row.createCell(4);
+ cell.setCellComment(comment);
+
+ HSSFTestModelHelper.createCommentShape(0, comment);
+
+ assertNotNull(sh.findCellComment(5, 4));
+ assertNull(sh.findCellComment(5, 5));
+
+ HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
+ sh = wbBack.getSheetAt(0);
+
+ assertNotNull(sh.findCellComment(5, 4));
+ assertNull(sh.findCellComment(5, 5));
+
+ wb.close();
+ wbBack.close();
+ }
+
+ @Test
+ public void initState() throws IOException{
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+
+ EscherAggregate agg = HSSFTestHelper.getEscherAggregate(patriarch);
+ assertEquals(agg.getTailRecords().size(), 0);
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+ assertEquals(agg.getTailRecords().size(), 1);
+
+ HSSFSimpleShape shape = patriarch.createSimpleShape(new HSSFClientAnchor());
+ assertNotNull(shape);
+
+ assertEquals(comment.getOptRecord().getEscherProperties().size(), 10);
+
+ wb.close();
+ }
+
+ @Test
+ public void shapeId() throws IOException{
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+
+ HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
+
+ comment.setShapeId(2024);
+
+ assertEquals(comment.getShapeId(), 2024);
+
+ CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);
+ assertEquals(2024, cod.getObjectId());
+ EscherSpRecord spRecord = (EscherSpRecord) comment.getEscherContainer().getChild(0);
+ assertEquals(2024, spRecord.getShapeId(), 2024);
+ assertEquals(2024, comment.getShapeId(), 2024);
+ assertEquals(2024, comment.getNoteRecord().getShapeId());
+
+ wb.close();
+ }
+
+ @Test
+ public void attemptToSave2CommentsWithSameCoordinates(){
+ Object err = null;
+
+ HSSFWorkbook wb = new HSSFWorkbook();
+ HSSFSheet sh = wb.createSheet();
+ HSSFPatriarch patriarch = sh.createDrawingPatriarch();
+ patriarch.createCellComment(new HSSFClientAnchor());
+ patriarch.createCellComment(new HSSFClientAnchor());
+
+ try{
+ HSSFTestDataSamples.writeOutAndReadBack(wb);
+ } catch (IllegalStateException e){
+ err = 1;
+ assertEquals(e.getMessage(), "found multiple cell comments for cell $A$1");
+ }
+ assertNotNull(err);
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org