assertEquals("\u0161\u017E\u010D\u0148\u0159", sheet.getRow(1).getCell(0).getStringCellValue());
}
+ /**
+ * Multiple calls of HSSFWorkbook.write result in corrupted xls
+ */
+ public void test32191() throws IOException {
+ HSSFWorkbook wb = openSample("27394.xls");
+
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ wb.write(out);
+ out.close();
+ int size1 = out.size();
+
+ out = new ByteArrayOutputStream();
+ wb.write(out);
+ out.close();
+ int size2 = out.size();
+
+ assertEquals(size1, size2);
+ out = new ByteArrayOutputStream();
+ wb.write(out);
+ out.close();
+ int size3 = out.size();
+ assertEquals(size2, size3);
+
+ }
}
assertNotNull(link);\r
assertEquals("http://poi.apache.org/hssf/", link.getAddress());\r
}\r
+\r
+ /**\r
+ * Test that HSSFSheet#shiftRows moves hyperlinks,\r
+ * see bugs #46445 and #29957\r
+ */\r
+ public void testShiftRows(){\r
+ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("46445.xls");\r
+\r
+\r
+ HSSFSheet sheet = wb.getSheetAt(0);\r
+\r
+ //verify existing hyperlink in A3\r
+ HSSFCell cell1 = sheet.getRow(2).getCell(0);\r
+ HSSFHyperlink link1 = cell1.getHyperlink();\r
+ assertNotNull(link1);\r
+ assertEquals(2, link1.getFirstRow());\r
+ assertEquals(2, link1.getLastRow());\r
+\r
+ //assign a hyperlink to A4\r
+ HSSFHyperlink link2 = new HSSFHyperlink(HSSFHyperlink.LINK_DOCUMENT);\r
+ link2.setAddress("Sheet2!A2");\r
+ HSSFCell cell2 = sheet.getRow(3).getCell(0);\r
+ cell2.setHyperlink(link2);\r
+ assertEquals(3, link2.getFirstRow());\r
+ assertEquals(3, link2.getLastRow());\r
+\r
+ //move the 3rd row two rows down\r
+ sheet.shiftRows(sheet.getFirstRowNum(), sheet.getLastRowNum(), 2);\r
+\r
+ //cells A3 and A4 don't contain hyperlinks anymore\r
+ assertNull(sheet.getRow(2).getCell(0).getHyperlink());\r
+ assertNull(sheet.getRow(3).getCell(0).getHyperlink());\r
+\r
+ //the first hypelink now belongs to A5\r
+ HSSFHyperlink link1_shifted = sheet.getRow(2+2).getCell(0).getHyperlink();\r
+ assertNotNull(link1_shifted);\r
+ assertEquals(4, link1_shifted.getFirstRow());\r
+ assertEquals(4, link1_shifted.getLastRow());\r
+\r
+ //the second hypelink now belongs to A6\r
+ HSSFHyperlink link2_shifted = sheet.getRow(3+2).getCell(0).getHyperlink();\r
+ assertNotNull(link2_shifted);\r
+ assertEquals(5, link2_shifted.getFirstRow());\r
+ assertEquals(5, link2_shifted.getLastRow());\r
+ }\r
}\r