From c66f42d340e338818d77884ce45674f4986b731d Mon Sep 17 00:00:00 2001 From: Avik Sengupta Date: Thu, 30 Oct 2003 16:46:43 +0000 Subject: [PATCH] Testcase for 24215. sync from branch git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353423 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/poi/hssf/data/24215.xls | Bin 0 -> 17408 bytes .../apache/poi/hssf/usermodel/TestBugs.java | 451 +++++++++--------- 2 files changed, 235 insertions(+), 216 deletions(-) create mode 100644 src/testcases/org/apache/poi/hssf/data/24215.xls diff --git a/src/testcases/org/apache/poi/hssf/data/24215.xls b/src/testcases/org/apache/poi/hssf/data/24215.xls new file mode 100644 index 0000000000000000000000000000000000000000..bcbbe631214b10ca75361877adbe3d89c88bea32 GIT binary patch literal 17408 zcmeHO3vg7`8UF8PlWZQqCJ_h_)|*X~@JNV>!&BJBAWdpOB&b;9tV>)>nuKVw2-u=g zD#a?T_`ouy7DVdkIvww9`c)@g06&!Vl2nttE8d-v|%-DS|JwYK-% zIrs6M|8@R*UjNy<2c9iDv~B0;SH+fQOO|{(m?t?2xQ2V(eD(^;2M76RUXRB;ASZo= zJdo$Xi_FQEPs^Uk-QSN}yyREKB?In#IE%c7+$tAKfym-Wqu&9TJu<`JziT=-tgKBOgVtt<>lCNj5wp z6_Y9|YFl-Gcc*`5Yjwht&s~9@>`SINZ&BpJ^KE36k}K%OinXTJCMyp3+~dU~l__+I z5)+7L%LJJ&5~`k{C)gCKhK+WFH2!M8Q3p_js)M0wpL@29w@C## zGbNKHc1oZ761hvJh!#SPC%^;gYRxjkCr76+W%xnwPw=O~&vQ_C_PIOdZmG|tG=!I6 zu<$jcs5|n4ByiL^e@k}2i)kEf3Ae0It$8}C z^afZ`SZ?~DOzuT{7k{N+4FjR^Gh3_7ht}~vce(rw4Lh;i7*LXk{Bj=}Z=47nElCbL z9z>0k`|(O_R5ocb(y1~abr>0_B{m#EV(hWC${4ZY00t*j8Vo^8jqJq01lB~p33?)v z>iQN(Kpv18$;ylxBtE+L^ zs}tAopzyCat;AO2~UnE1{N_yZa6fed(FT09%- zls%qgy?j!*uA!GQ8TRl_lX8*Tbhs{}Yg$loB+?THTUy);H9<%<=;QWOCCj&PkgAj- zKLd_ctj?ko`QD%^vEu>;awN(xXML0CL4yi`OixEo-0MXdZfx?~WBzfEQ2i@juXc!| ze^T(6A5w5JQVi#VvgZN=HuVZt#Oi&Woa|2n*M(~}BboIjJ@I6EMtcgk*-ze>-X!}i zJobKJ=Z!A6c>A*kc`fSCQP<*rx4M?}=c=ppi@F}ypFMbi#x?lWsKGx9DKAG_+9Q$Z zNkkTpPC)92oHr%`slQI#;9aKe(>$^dmi155LFN-Yv6QYSv5@E7vU^u5gz&Y?)RRbzjR?Br0@v} zpQz4PDWo4XW;y{5L0}%UZQ1 zvheiD4Poz(|NcyO;0K%LRTbT~&0SD%#nv0n{!3t>`xO7l_4ALvX5RN6zvbW(@0e=> z+csT(=E_(8`uNnBHk`X<^YrPPx72@dWUy{)L+dXd%s*Ip?Sa`H&%L{8|7E+oZ!JIJ z$*~J=tZ6vA{PY9E-*8nHY|ake*?8s$h0m{>wQ}Od!o5@9edooeu6p_5f%h&L7+1Qz zdFSpw9Qek>mKOt6Qzvei(Nyr*(B7QmeA%CPX1!KcQ(Wg+Q~uFy2WRddx4-Q0&4<^% z{-dbthIKCuT=DC=y#2vD_cr})<8{H7182Tla%9b0r@npepSJz>#a|tGD!RVD{KKci zWxrf^`Ho#5PMv=6+Bd$te$$qXL$;`R3-inZ56nI3D{wPBjAOB#j?=UqcDi9{FnZ8VSCj_Bq?bZhk_O}aWtYeK%#MvngCPh^p({;;Ve(C( z=QM|3wBSK_6Tjz>+>)`-O7F9ej8Rq>fWjCXSkr=djSQ+R zY{wWlYs18v6u@VO_jB=_uSO`tgQVr!&hQFl6v9SBMj>ib6_-(Hlfm9-$>1u{k}*Wp zld^{-$rzF(V+4F^`fn^WC0fY$Vo0Y=?7c?qy-BtA#g^Z<4NjVQ;tWy% z2}Ma(7TGvCCRm(o@y2?SI*XGyi<3ADg(C+!%@$OmsLgtkpW}$tQn?i|4sXZ{Jh{iv z3mjhzFAR@+fwaSIw0y(t^Ont=X^0qoYD5}(`of~8y%zmQ8$E4d|2J&m7-F@@(j?AO z8z(K}sAg&64;hxGQEBKo;u-X;>*y4UQj{8FSh;Ns`<Lf*^Bn zWlZ6wkV4q}p9`$Gd|~LtWr!wj#6r0o+mKS1FXr;YDCb$ZK|Kc5**GaT7`JB3^4Z-` zf`;>@xgnu4U!WTjv^cl_bsqQ>E9z_vLH5KZedy|+y#LV|?cN<5Ju-3JuHV-J+l$Oe zpXH6nT*NFyCf1J3sp8wnoUU&|<}!9GGAGM>kvSnef=rFCgPA)uENhH(bar;=jp45D zh{!61lQ-cxUbfAqvB)V=)i z&8xk)KB;jz<|M}hjt3kMI3933;CR6Cfa3wj1C9qA4>%rhJn;YOflTo~<8#*w&%Cgu zW{mg7TM++G`slv7z_M)^KDdy>z`4!OJpt|oaO-*rGPhLwk+~PJ9+|QG^~l@<_#ra4 zJ+~q={=W;E@&0qjiF*UwA83gz@9XK+TM+TD4EIL#hMwhpE4rc`%P-Q;SS{f$#`bRw z%~N`CoAK&{0i@;DpYe@}bz5iM)=MD>X#|zi_;Y%CJNx)iN}uAV3=b-+c1CeO4ViV{ zj!d>4$fVhY%>9vPk@=I&JF#cdaN9dH=fcLGwndRkJ0dF^R=0IUn&v7#{wNSStvlS& z)v{vgHzRFPC52uJ%~=s`@99-#N@S@GoZHcNaaVZtf-rVbOgGY$=jtB3h_#{X)uu^@ z-WLtGb?VXHa9czcu#B?W!@a#7HJvNEy2D-JU|&yHM>JfstV4N%W;L>0Kiw#oz8*kM zay;O8!0~|N0mlQ52OJML9&kM1c);<1}dr4r*2x$cBFfFHogjW71l-dpg8nr<9nRre-%VVSatNEHA3?*WoI sRY5=d5c|)u>gWEL+6==b8=v0wNSm@DqTaw~vuE1psK5H`lbsjoUk;0+9RL6T literal 0 HcmV?d00001 diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index aaeb9b93e..6485fa01c 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -78,221 +78,219 @@ extends TestCase { /** Test reading AND writing a complicated workbook *Test opening resulting sheet in excel*/ - public void test15228() - throws java.io.IOException - { - String readFilename = System.getProperty("HSSF.testdata.path"); - FileInputStream in = new FileInputStream(readFilename+File.separator+"15228.xls"); - HSSFWorkbook wb = new HSSFWorkbook(in); - HSSFSheet s = wb.getSheetAt(0); - HSSFRow r = s.createRow(0); - HSSFCell c = r.createCell((short)0); - c.setCellValue(10); - File file = File.createTempFile("test15228",".xls"); - FileOutputStream out = new FileOutputStream(file); - wb.write(out); - assertTrue("No exception thrown", true); - assertTrue("File Should Exist", file.exists()); - + public void test15228() + throws java.io.IOException { + String readFilename = System.getProperty("HSSF.testdata.path"); + FileInputStream in = new FileInputStream(readFilename+File.separator+"15228.xls"); + HSSFWorkbook wb = new HSSFWorkbook(in); + HSSFSheet s = wb.getSheetAt(0); + HSSFRow r = s.createRow(0); + HSSFCell c = r.createCell((short)0); + c.setCellValue(10); + File file = File.createTempFile("test15228",".xls"); + FileOutputStream out = new FileOutputStream(file); + wb.write(out); + assertTrue("No exception thrown", true); + assertTrue("File Should Exist", file.exists()); + } - - public void test13796() - throws java.io.IOException - { - String readFilename = System.getProperty("HSSF.testdata.path"); - FileInputStream in = new FileInputStream(readFilename+File.separator+"13796.xls"); - HSSFWorkbook wb = new HSSFWorkbook(in); - HSSFSheet s = wb.getSheetAt(0); - HSSFRow r = s.createRow(0); - HSSFCell c = r.createCell((short)0); - c.setCellValue(10); - File file = File.createTempFile("test13796",".xls"); - FileOutputStream out = new FileOutputStream(file); - wb.write(out); - assertTrue("No exception thrown", true); - assertTrue("File Should Exist", file.exists()); - + + public void test13796() + throws java.io.IOException { + String readFilename = System.getProperty("HSSF.testdata.path"); + FileInputStream in = new FileInputStream(readFilename+File.separator+"13796.xls"); + HSSFWorkbook wb = new HSSFWorkbook(in); + HSSFSheet s = wb.getSheetAt(0); + HSSFRow r = s.createRow(0); + HSSFCell c = r.createCell((short)0); + c.setCellValue(10); + File file = File.createTempFile("test13796",".xls"); + FileOutputStream out = new FileOutputStream(file); + wb.write(out); + assertTrue("No exception thrown", true); + assertTrue("File Should Exist", file.exists()); + } - /**Test writing a hyperlink - * Open resulting sheet in Excel and check that A1 contains a hyperlink*/ - public void test23094() throws Exception { - File file = File.createTempFile("test23094",".xls"); - FileOutputStream out = new FileOutputStream(file); - HSSFWorkbook wb = new HSSFWorkbook(); - HSSFSheet s = wb.createSheet(); - HSSFRow r = s.createRow(0); - r.createCell((short)0).setCellFormula("HYPERLINK( \"http://jakarta.apache.org\", \"Jakarta\" )"); - assertTrue("No Exception expected",true); - wb.write(out); - out.close(); - } - + /**Test writing a hyperlink + * Open resulting sheet in Excel and check that A1 contains a hyperlink*/ + public void test23094() throws Exception { + File file = File.createTempFile("test23094",".xls"); + FileOutputStream out = new FileOutputStream(file); + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet s = wb.createSheet(); + HSSFRow r = s.createRow(0); + r.createCell((short)0).setCellFormula("HYPERLINK( \"http://jakarta.apache.org\", \"Jakarta\" )"); + assertTrue("No Exception expected",true); + wb.write(out); + out.close(); + } + /* test hyperlinks * open resulting file in excel, and check that there is a link to Google **/ - public void test15353() throws Exception { - HSSFWorkbook wb = new HSSFWorkbook(); - HSSFSheet sheet = wb.createSheet("My sheet"); + public void test15353() throws Exception { + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sheet = wb.createSheet("My sheet"); + + HSSFRow row = sheet.createRow( (short) 0 ); + HSSFCell cell = row.createCell( (short) 0 ); + cell.setCellFormula("HYPERLINK(\"http://google.com\",\"Google\")"); + + // Write out the workbook + File f = File.createTempFile("test15353",".xls"); + FileOutputStream fileOut = new FileOutputStream(f); + wb.write(fileOut); + fileOut.close(); + } + + /** test reading of a formula with a name and a cell ref in one + **/ + public void test14460() throws Exception { + String filename = System.getProperty("HSSF.testdata.path"); + filename=filename+"/14460.xls"; + FileInputStream in = new FileInputStream(filename); + HSSFWorkbook wb = new HSSFWorkbook(in); + HSSFSheet sheet = wb.getSheetAt(0); + assertTrue("No exception throws", true); + } + + public void test14330() throws Exception { + String filedir = System.getProperty("HSSF.testdata.path"); + String filename=filedir+"/14330-1.xls"; + FileInputStream in = new FileInputStream(filename); + HSSFWorkbook wb = new HSSFWorkbook(in); + HSSFSheet sheet = wb.getSheetAt(0); + + filename=filedir+"/14330-2.xls"; + in = new FileInputStream(filename); + wb = new HSSFWorkbook(in); + sheet = wb.getSheetAt(0); + assertTrue("No exception throws", true); + } + + /** test rewriting a file with large number of unique strings + *open resulting file in Excel to check results!*/ + public void test15375() { + + try { + String filename = System.getProperty("HSSF.testdata.path"); + filename=filename+"/15375.xls"; + FileInputStream in = new FileInputStream(filename); + HSSFWorkbook wb = new HSSFWorkbook(in); + HSSFSheet sheet = wb.getSheetAt(0); - HSSFRow row = sheet.createRow( (short) 0 ); - HSSFCell cell = row.createCell( (short) 0 ); - cell.setCellFormula("HYPERLINK(\"http://google.com\",\"Google\")"); + HSSFRow row = sheet.getRow(5); + HSSFCell cell = row.getCell((short)3); + if (cell == null) + cell = row.createCell((short)3); - // Write out the workbook - File f = File.createTempFile("test15353",".xls"); + // Write test + cell.setCellType(HSSFCell.CELL_TYPE_STRING); + cell.setCellValue("a test"); + + // change existing numeric cell value + + HSSFRow oRow = sheet.getRow(14); + HSSFCell oCell = oRow.getCell((short)4); + oCell.setCellValue(75); + oCell = oRow.getCell((short)5); + oCell.setCellValue("0.3"); + + // Write the output to a file + File f = File.createTempFile("test15375",".xls"); FileOutputStream fileOut = new FileOutputStream(f); wb.write(fileOut); fileOut.close(); } - - /** test reading of a formula with a name and a cell ref in one - **/ - public void test14460() throws Exception { - String filename = System.getProperty("HSSF.testdata.path"); - filename=filename+"/14460.xls"; - FileInputStream in = new FileInputStream(filename); - HSSFWorkbook wb = new HSSFWorkbook(in); - HSSFSheet sheet = wb.getSheetAt(0); - assertTrue("No exception throws", true); - } - - public void test14330() throws Exception { - String filedir = System.getProperty("HSSF.testdata.path"); - String filename=filedir+"/14330-1.xls"; - FileInputStream in = new FileInputStream(filename); - HSSFWorkbook wb = new HSSFWorkbook(in); - HSSFSheet sheet = wb.getSheetAt(0); - - filename=filedir+"/14330-2.xls"; - in = new FileInputStream(filename); - wb = new HSSFWorkbook(in); - sheet = wb.getSheetAt(0); - assertTrue("No exception throws", true); - } + catch (java.io.FileNotFoundException ex) { + ex.printStackTrace(); + } + catch (java.io.IOException ex) { + ex.printStackTrace(); + } + + } + + /** test writing a file with large number of unique strings + *open resulting file in Excel to check results!*/ + + public void test15375_2() throws Exception{ + + + HSSFWorkbook wb = new HSSFWorkbook(); + HSSFSheet sheet = wb.createSheet(); + + String tmp1 = null; + String tmp2 = null; + String tmp3 = null; + + for (int i = 0; i < 6000; i++) { + tmp1 = "Test1" + i; + tmp2 = "Test2" + i; + tmp3 = "Test3" + i; + + HSSFRow row = sheet.createRow((short)i); + + HSSFCell cell = row.createCell((short)0); + cell.setCellValue(tmp1); + cell = row.createCell((short)1); + cell.setCellValue(tmp2); + cell = row.createCell((short)2); + cell.setCellValue(tmp3); + } + File f = File.createTempFile("test15375-2",".xls"); + FileOutputStream fileOut = new FileOutputStream(f); + wb.write(fileOut); + fileOut.close(); + } + /** another test for the number of unique strings issue + *test opening the resulting file in Excel*/ + public void test22568() { + int r=2000;int c=3; + + HSSFWorkbook wb = new HSSFWorkbook() ; + HSSFSheet sheet = wb.createSheet("ExcelTest") ; + + int col_cnt=0, rw_cnt=0 ; + + col_cnt = c; + rw_cnt = r; + + HSSFRow rw = null ; + HSSFCell cell =null; + rw = sheet.createRow((short)0) ; + //Header row + for(short j=0; j