Fix bug #51143 - Correct NameCommentRecord to properly serialise strings

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1099313 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nick Burch 2011-05-04 03:11:28 +00:00
parent 1ecef7df9f
commit 6f7fabe3c6
4 changed files with 14 additions and 2 deletions

View File

@ -34,6 +34,7 @@
<changes> <changes>
<release version="3.8-beta3" date="2011-??-??"> <release version="3.8-beta3" date="2011-??-??">
<action dev="poi-developers" type="fix">51143 - NameCommentRecord correction for writing non ASCII strings</action>
<action dev="poi-developers" type="fix">51112 - Correct XWPFTable tracking of new rows</action> <action dev="poi-developers" type="fix">51112 - Correct XWPFTable tracking of new rows</action>
<action dev="poi-developers" type="fix">51113 - Correct XWPFParagraph tracking of inserted runs</action> <action dev="poi-developers" type="fix">51113 - Correct XWPFParagraph tracking of inserted runs</action>
<action dev="poi-developers" type="fix">51111 - Correct XWPFParagraph tracking of new runs</action> <action dev="poi-developers" type="fix">51111 - Correct XWPFParagraph tracking of new runs</action>

View File

@ -63,9 +63,9 @@ public final class NameCommentRecord extends StandardRecord {
out.writeShort(field_5_comment_length); out.writeShort(field_5_comment_length);
out.writeByte(0); out.writeByte(0);
out.write(field_6_name_text.getBytes()); StringUtil.putCompressedUnicode(field_6_name_text, out);
out.writeByte(0); out.writeByte(0);
out.write(field_7_comment_text.getBytes()); StringUtil.putCompressedUnicode(field_7_comment_text, out);
} }
@Override @Override

View File

@ -2112,4 +2112,15 @@ if(1==2) {
c.setCellFormula("HLOOKUP(\"v A1\", A1:B2, 1, )"); c.setCellFormula("HLOOKUP(\"v A1\", A1:B2, 1, )");
assertEquals("v A1", eval.evaluate(c).getStringValue()); assertEquals("v A1", eval.evaluate(c).getStringValue());
} }
/**
* Mixture of Ascii and Unicode strings in a
* NameComment record
*/
public void test51143() throws Exception {
HSSFWorkbook wb = openSample("51143.xls");
assertEquals(1, wb.getNumberOfSheets());
wb = writeOutAndReadBack(wb);
assertEquals(1, wb.getNumberOfSheets());
}
} }

Binary file not shown.