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