<changes>
<release version="3.9-beta1" date="2012-??-??">
+ <action dev="poi-developers" type="fix">53360 - Fixed SXSSF to correctly write text before escaped Unicode control character</action>
<action dev="poi-developers" type="add">Change HSMF Types to have full data on ID, Name and Length, rather than just being a simple ID</action>
<action dev="poi-developers" type="add">48469 - Updated case study</action>
<action dev="poi-developers" type="add">53476 - Support Complex Name in formulas </action>
// the same rule applies to unicode surrogates and "not a character" symbols.\r
if( c < ' ' || Character.isLowSurrogate(c) || Character.isHighSurrogate(c) ||\r
('\uFFFE' <= c && c <= '\uFFFF')) {\r
+ if (counter > last) {\r
+ _out.write(chars, last, counter - last);\r
+ }\r
_out.write('?');\r
last = counter + 1;\r
}\r
tmp = wr.getTempFile();
assertTrue(tmp.getName().startsWith("poi-sxssf-sheet-xml"));
assertTrue(tmp.getName().endsWith(".gz"));
+
+ //Test escaping of Unicode control characters
+ wb = new SXSSFWorkbook();
+ wb.createSheet("S1").createRow(0).createCell(0).setCellValue("value\u0019");
+ XSSFWorkbook xssfWorkbook = (XSSFWorkbook) SXSSFITestDataProvider.instance.writeOutAndReadBack(wb);
+ Cell cell = xssfWorkbook.getSheet("S1").getRow(0).getCell(0);
+ assertEquals("value?", cell.getStringCellValue());
+
}
public void testGZipSheetdataWriter(){