You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by av...@apache.org on 2004/01/01 20:08:43 UTC
cvs commit: jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel TestBugs.java
avik 2004/01/01 11:08:43
Modified: src/java/org/apache/poi/hssf/record Tag: REL_2_BRANCH
StringRecord.java
src/testcases/org/apache/poi/hssf/usermodel Tag:
REL_2_BRANCH TestBugs.java
Added: src/testcases/org/apache/poi/hssf/data Tag: REL_2_BRANCH
25695.xls
Log:
fix for bug 25695
Revision Changes Path
No revision
No revision
1.5.2.2 +1 -1 jakarta-poi/src/java/org/apache/poi/hssf/record/StringRecord.java
Index: StringRecord.java
===================================================================
RCS file: /home/cvs/jakarta-poi/src/java/org/apache/poi/hssf/record/StringRecord.java,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -u -r1.5.2.1 -r1.5.2.2
--- StringRecord.java 23 Sep 2003 00:35:16 -0000 1.5.2.1
+++ StringRecord.java 1 Jan 2004 19:08:42 -0000 1.5.2.2
@@ -130,7 +130,7 @@
field_2_unicode_flag = data[ 2 + offset ];
if (isUnCompressedUnicode())
{
- field_3_string = StringUtil.getFromUnicode(data, 3 + offset, field_1_string_length );
+ field_3_string = StringUtil.getFromUnicodeHigh(data, 3 + offset, field_1_string_length );
}
else
{
No revision
No revision
1.1.2.1 +17 -0 jakarta-poi/src/testcases/org/apache/poi/hssf/data/Attic/25695.xls
<<Binary file>>
No revision
No revision
1.1.2.16 +56 -0 jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java
Index: TestBugs.java
===================================================================
RCS file: /home/cvs/jakarta-poi/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java,v
retrieving revision 1.1.2.15
retrieving revision 1.1.2.16
diff -u -r1.1.2.15 -r1.1.2.16
--- TestBugs.java 17 Nov 2003 21:10:35 -0000 1.1.2.15
+++ TestBugs.java 1 Jan 2004 19:08:43 -0000 1.1.2.16
@@ -438,6 +438,62 @@
//make sure we dont exception
}
+
+ /*Tests read and write of Unicode strings in formula results
+ * bug and testcase submitted by Sompop Kumnoonsate
+ * The file contains THAI unicode characters.
+ */
+ public void testUnicodeStringFormulaRead() throws Exception {
+
+ String filename = System.getProperty("HSSF.testdata.path");
+ filename=filename+"/25695.xls";
+ FileInputStream in = new FileInputStream(filename);
+ HSSFWorkbook w;
+ w = new HSSFWorkbook(in);
+ in.close();
+
+ HSSFCell a1 = w.getSheetAt(0).getRow(0).getCell((short) 0);
+ HSSFCell a2 = w.getSheetAt(0).getRow(0).getCell((short) 1);
+ HSSFCell b1 = w.getSheetAt(0).getRow(1).getCell((short) 0);
+ HSSFCell b2 = w.getSheetAt(0).getRow(1).getCell((short) 1);
+ HSSFCell c1 = w.getSheetAt(0).getRow(2).getCell((short) 0);
+ HSSFCell c2 = w.getSheetAt(0).getRow(2).getCell((short) 1);
+ HSSFCell d1 = w.getSheetAt(0).getRow(3).getCell((short) 0);
+ HSSFCell d2 = w.getSheetAt(0).getRow(3).getCell((short) 1);
+
+ assertEquals("String Cell value", a1.getStringCellValue(), a2.getStringCellValue());
+ assertEquals("String Cell value", b1.getStringCellValue(), b2.getStringCellValue());
+ assertEquals("String Cell value", c1.getStringCellValue(), c2.getStringCellValue());
+ assertEquals("String Cell value", d1.getStringCellValue(), d2.getStringCellValue());
+
+ File xls = File.createTempFile("testFormulaUnicode", ".xls");
+ FileOutputStream out = new FileOutputStream(xls);
+ w.write(out);
+ out.close();
+ in = new FileInputStream(xls);
+
+ HSSFWorkbook rw = new HSSFWorkbook(in);
+ in.close();
+
+ HSSFCell ra1 = rw.getSheetAt(0).getRow(0).getCell((short) 0);
+ HSSFCell ra2 = rw.getSheetAt(0).getRow(0).getCell((short) 1);
+ HSSFCell rb1 = rw.getSheetAt(0).getRow(1).getCell((short) 0);
+ HSSFCell rb2 = rw.getSheetAt(0).getRow(1).getCell((short) 1);
+ HSSFCell rc1 = rw.getSheetAt(0).getRow(2).getCell((short) 0);
+ HSSFCell rc2 = rw.getSheetAt(0).getRow(2).getCell((short) 1);
+ HSSFCell rd1 = rw.getSheetAt(0).getRow(3).getCell((short) 0);
+ HSSFCell rd2 = rw.getSheetAt(0).getRow(3).getCell((short) 1);
+
+ assertEquals("Re-Written String Cell value", a1.getStringCellValue(), ra1.getStringCellValue());
+ assertEquals("Re-Written String Cell value", b1.getStringCellValue(), rb1.getStringCellValue());
+ assertEquals("Re-Written String Cell value", c1.getStringCellValue(), rc1.getStringCellValue());
+ assertEquals("Re-Written String Cell value", d1.getStringCellValue(), rd1.getStringCellValue());
+ assertEquals("Re-Written Formula String Cell value", a1.getStringCellValue(), ra2.getStringCellValue());
+ assertEquals("Re-Written Formula String Cell value", b1.getStringCellValue(), rb2.getStringCellValue());
+ assertEquals("Re-Written Formula String Cell value", c1.getStringCellValue(), rc2.getStringCellValue());
+ assertEquals("Re-Written Formula String Cell value", d1.getStringCellValue(), rd2.getStringCellValue());
+
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: poi-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: poi-dev-help@jakarta.apache.org