]> source.dussan.org Git - poi.git/commitdiff
Add test from bug 49423 to verify that the problem was fixed in the meantime
authorDominik Stadler <centic@apache.org>
Sun, 22 Mar 2015 21:45:56 +0000 (21:45 +0000)
committerDominik Stadler <centic@apache.org>
Sun, 22 Mar 2015 21:45:56 +0000 (21:45 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1668481 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
test-data/spreadsheet/49423.xls [new file with mode: 0644]

index 2fabba9def8837e3a4cb297f0c8f77a854cf48e2..efe4f01ecb59468cf38815ae187e7057d2bdb4fe 100644 (file)
@@ -28,6 +28,7 @@ import static org.apache.poi.POITestCase.assertContains;
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -1106,4 +1107,36 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
        private void expectName(HSSFWorkbook wb, String name, String expect) {
                assertEquals(expect, wb.getName(name).getRefersToFormula());
        }
+
+       @Test
+       public void test49423() throws Exception
+    {
+               HSSFWorkbook workbook = HSSFTestDataSamples.openSampleWorkbook("49423.xls");
+               
+               boolean found = false;
+        int numSheets = workbook.getNumberOfSheets();
+        for (int i = 0; i < numSheets; i++) {
+            HSSFSheet sheet = workbook.getSheetAt(i);
+            List<HSSFShape> shapes = sheet.getDrawingPatriarch().getChildren();
+            for(HSSFShape shape : shapes){
+                HSSFAnchor anchor = shape.getAnchor();
+    
+                if(anchor instanceof HSSFClientAnchor){
+                    // absolute coordinates
+                    HSSFClientAnchor clientAnchor = (HSSFClientAnchor)anchor;
+                    assertNotNull(clientAnchor);
+                    //System.out.println(clientAnchor.getRow1() + "," + clientAnchor.getRow2());
+                    found = true;
+                } else if (anchor instanceof HSSFChildAnchor){
+                    // shape is grouped and the anchor is expressed in the coordinate system of the group 
+                    HSSFChildAnchor childAnchor = (HSSFChildAnchor)anchor;
+                    assertNotNull(childAnchor);
+                    //System.out.println(childAnchor.getDy1() + "," + childAnchor.getDy2());
+                    found = true;
+                }
+            }
+        }
+        
+        assertTrue("Should find some images via Client or Child anchors, but did not find any at all", found);
+    }
 }
diff --git a/test-data/spreadsheet/49423.xls b/test-data/spreadsheet/49423.xls
new file mode 100644 (file)
index 0000000..3d8524c
Binary files /dev/null and b/test-data/spreadsheet/49423.xls differ