From e24f25d0ef9b03ee41c7491eb68116f1ee683ac9 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Mon, 9 Oct 2017 19:35:32 +0000 Subject: [PATCH] Add test which shows that bug 51262 is fixed now git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1811595 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/poi/hssf/usermodel/TestBugs.java | 28 ++++++++++++++++++ test-data/spreadsheet/51262.xls | Bin 0 -> 25088 bytes 2 files changed, 28 insertions(+) create mode 100644 test-data/spreadsheet/51262.xls diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java index 7288945b9..ebaa9ae66 100644 --- a/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java +++ b/src/testcases/org/apache/poi/hssf/usermodel/TestBugs.java @@ -3137,4 +3137,32 @@ public final class TestBugs extends BaseTestBugzillaIssues { // this will throw an Exception "RuntimeException: Can't read negative number of bytes" new PropertySet(new DocumentInputStream(entry)); } + + @Test + public void test51262() throws IOException { + try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("51262.xls")) { + Sheet sheet = wb.getSheetAt(0); + Row row = sheet.getRow(2); + + Cell cell = row.getCell(1); + CellStyle style = cell.getCellStyle(); + assertEquals(26, style.getFontIndex()); + + row = sheet.getRow(3); + cell = row.getCell(1); + style = cell.getCellStyle(); + assertEquals(28, style.getFontIndex()); + + // check the two fonts + HSSFFont font = wb.getFontAt((short) 26); + assertTrue(font.getBold()); + assertEquals(10, font.getFontHeightInPoints()); + assertEquals("\uFF2D\uFF33 \uFF30\u30B4\u30B7\u30C3\u30AF", font.getFontName()); + + font = wb.getFontAt((short) 28); + assertTrue(font.getBold()); + assertEquals(10, font.getFontHeightInPoints()); + assertEquals("\uFF2D\uFF33 \uFF30\u30B4\u30B7\u30C3\u30AF", font.getFontName()); + } + } } diff --git a/test-data/spreadsheet/51262.xls b/test-data/spreadsheet/51262.xls new file mode 100644 index 0000000000000000000000000000000000000000..86ad84d4c1ae2803db57d8eb2f3671ba5fce2694 GIT binary patch literal 25088 zcmeHP33wbwm9Fj?NhA4^Z27*%k`LLI#2m6L#g?U+kz|`lmWh-~to_N&qteGXb*zvjKAeFac2p zmrVctn=@p~QIM7*8X=OPpjYJ7T9? zN=@94km-p(0i1%E3s3mGJ9zGKKj(xp||+4>Dw_o{oLtf^QjfiW$5V8XH~4OsI0E6 z^z^OY(pzO*^sZmwT!mp11~>)^_piSuGI&F3rV5O!Fak0%)p}Ct;F_e?L1h)zTo!72 z*3B3k`Gn}BC>z{{Wcp=ql|=Ne-=ZTbYAPUCUsX#VxYS~7h0#@CmATvox4F;;cS?z7 zQ7x`YWv102m7f&N#Im_L$+R8=Ij@PSQ9i-fC@fi9AZaR(s};^lah{`Oa}Em?nQgOpNVdKk8I4wSZ|T!6b$R*{ z2(~3JTKe2<{m;tQcbm(h6|_pod|K-#N;HdyW$T-mL5L)Iy=V#!EYXGu67}K{+4=@k zBX5Fl5|L8!8Tn`-#Bbw#YIuwA1yeTJ-#oj(2`ARsRY6 zr!wF_kpchd4ETF8;6IZA|H%ya_h-PrI|DwGJela9mvoAt7ODS)9zKu(ugR01Uy~;t ze{Tjl4`#qWlmY+c4ET3tz<)jiK3{o0E9vkdEmc37op3@y;_oagyKBZ>GlcVu%+H4@ z4L>yW*viLN3g;sdUx;Y|iT^z^$Yj{(+6?&f8SoF<;>$r((tk-OFEsj`)R6c@`)c;g zi4ci@5>JqFUPH^zNM*uf{zSub!bHcraf;#=yoE0(RAl~yel+{%gp5w-Mx3Ja)9CO) zRN@nI-mmLT$Db`LTQFk*^nAC(bK=IJujyISe<8;75^vEnCxs;5A}1$-B>qVe7GfLb zcQko8S!9==6GOk1Q%^XNNz2d4qMtgTrCW8hPKWaaGA_}OnDn^BQ;9d8esw&?V!(qA zPndK(C!*}=pvO+b-|8wCx3a>C)F!U^)$iVU)Kw#nrr?=D#pGDIoJhlar4HsLX)~%`h_&#-$vH z&@?j>VUWy$2+cJ!k@DP#(1bG+VRw*&BsA;HMA(;2OJu4ed+RVD=RhQT>oDr(KqPzX zuq(-dNcPrYzmo%z?5)GjB?lteTZbK1k_awR`x4D}eE#gM!*!M%h-7aaF4W{eBzx;{ zr6&g>*;~h*8)Suk?gHgl_0|L(pga$PZ@{NcX%WIwQt6gioL_qd96o|BH4K{@5@JpJ&_k* zd@(_!NGE*k*s-{=JmRv!6`OFNEmMgN?x@Qu6c<4?p*XN(vaQ*D_uZE!RC9B4nowq( zArx^MX|88!nlj_kN3k1`J?pr@I!><6w*c3C^Wwn8;k*iPMOiDr)@B2yC^mgq;z2ge zd07BYJE;W>8~f_7%{FEo+jtX1*qnqEuCyH@vj=(1{F=f@1|sq1>_q&z5V3YQ)^@D} zk)+nsBuO{tO(>A`vF7HR?Ufjx`o}bLzH&ZhZIt?iDr_C!aOikUNeGp09-C8$oQ-5K zkN7Xonuu7vy&<6<>N4$l(y+03d@4c22tnu0olEm}GtTgK;y_y_!`scc^fqfmUUQo@ z+qaorTr`IpLycyfA(T1X7($tG=^^MU2$i(FG)<)!;KF~hfYnr$qpoW$-N9BAaAtm% zq25Ww>}6*6HM)azNtzOp(A>}%srpPW(2^)%YZd7Q0@D>(Y^iGy1r%)XDG*SE)yYFy zso4~0&00V`tkdxPBA1LVeT zjRE{c1-;pu+bu|WK$3sdhy3k z+q0Q#W#dn0vo;GGEfz~Qg^{8E{>_i=+03)DsY_?GAqyKuYX{mHiYkf>J@?H2*t03O zve}f*rZx*3#(15L3vKhO|Fvf`-^!*wosBOG8!c+f+7w5I{`6l@*|S+dHg(x8Z6(;$ ziFaL z9T|F(pZ~q*f1t5pKtoEzwB=SdHkP(J3mdbg`TS4a^t!!*8tvU-Ev!(g`=RW*3dp2$>8yidWWMN~rG@t+U6MBTU zw#_Ol8yicj%fiNNX+HnU7f#yMW+rxt;K4l6Zw4&==JI$^#=cUBuH#>_Ct8^#3X8H5 zU1cF^wj!+g?C!KDx;jY|_G2Zw#zNF=GeX?+#n;;tU6UjVYq1htZy{>75FuiNAF(I8 zHc1q=VI^8)A!@b`8Sc!TqM9r-)#P80u+YxnPAr!;FV0iG9t1-3Z zm8Ee9cD07ZV4?>u;P4W&9vmIOP==5>qf z(G%Q|C{q)2qRd)L8E4#uGLzUXJub(-1Nu&Fa;c3Kp+v2vL{WTZT8UI%^Rb^EOEqnW z4~>LJ!_l$vBkrEa;pi#X_Eb{pChWXv!w%X*vh7D@`*Y*=5$L=J;v9xO@UhBheKxjk zUd5;zo{hGTjlod2q|#NE#GPWh-1?nrs+>GAXn~nQYc{qIVFGYRBs@4gy3dVg1&g4L zQfPJu1fuN^!#wvvK~RpGEBq~`>e#vY=~>|F9Y#- z^T#jzCn`eXelu~zKr8XNHpI0!n1Q%9G*Bh+Ix}&^LQ6n!%(EfRc&N2lky$OL)e^A@ z4Jmex9-4$HOr|!OT8{ecgk}%H7TM@Y_vd7d(P*5}xlH#j#Q+I$sbhHbKx9z&|En#+ zEJ9rBkPUqRjXszX0UQZyOvEB1`fvuP5Q>{AHbZ`~D>4}!4&) zDFznpiAKg#OyL;yJ&SoB-QZzTF#&hzi61&Et zkyEbzR2pgt{Dm~45Q^&qeCm;+U?Ru}X`IAK23qaP2x;1t5z@4))9MV-D6mY>H5rvH z{w534`5@gTb&%fX=8(?_nbPJ&BqhExb0T3aZXPq}~G#o z`*kqei;4??_rZRth(AJp&VUgL#Y}DYVYq+b@R2toFljc9kYuE^EX&if#4&Ebws6E| zs9p@X766Rm+WTp|QpFiac*b-m_?#l{0q!0Xjy1X+xZ6!QmcGli48Suj)eT&F}<@ea&j?!~0!EXYH5R?#kV`Iena z{PCZE^PSHA-OYUxzd_N~7I2<(-5_j7v}Cn{gow4C*A<4-4)xF3}?}@!hz56HDY@O3XNea(H3IlrWS` zNqQY)j5`5oU0RQlk}1y%C!(nnzN9KvZg~=VHT&P320WF0nd)R?;9S(^bb^-HgJeq| z#>`VO`YA>JsfgXxieIMhHXBDpoW(Qj*<{C*MsTYfNf3Q4e8MG;%HA56#Q~X@*W~cb z!T^V-@;(9~IuGr>Q2D~9_P)9zg?Fi?!0>#wtYb_G2;$hYSaD7p90$}6@q*-j0cHP$ zaRli#ON^ox;z|`Q5>J{z00aV_)I#!%G+MIJI_ULATT-Vq zEsDvJEO#+;ERB^7*t7Qi2Y!E{4CiwJ^8m(Ja{;$|Pa5bOg*a_W<_l*MEoO^?+Xe`VIQg+-`rVb7cVxfdTI;u!1LXggr@v`ga^x z>P|vic}ZvDnL9PnCCQBDXLe@=kBJ(G!#MIhYtqzR6vzm(qN@hZrsitY|geTwKVO`P4So#Fmg?aWZMf+uBj+ZETm(Tca2;;*5RrCsMIETCFhu8FC zdMa@{h`^Z^OXNi&FYjx2d6t^8;m!BV=cyEoE9Ma5C)(ka{a*SvnlcHdS{yN`*aHuU zKr}i&+&_sYQ}=bjzFpyiIB9ZM;8PUB_!dR!fr?orCASB|6N-Af=N6C0;9bnM`8 z;hUYU4#vb>QXc+)_?^_ytNu@$xB}@)`9GsT(!Hgrw_qBS zj{khn8J?n-c~RoRK?2}fAwNK zWbSq9FyGvM8CF+`-lrCJTZz7_5@WBcz(M=|(sqod0^%*`)p~*N5}o+#La(P`Ix!v# zAx9U+TN+0Dep0Xg6{mWXBBl*}TP?chvkg@1nSl)<>vhf zz!09A+|b1k{wR3_Im}mHj1YREi@l)S22Iq;^EPm@qr>H0(x8r5lI=t4{o*EI2P7}9 z3G_?JtltTH)YeKkOKgrv#`vQK5^3kjyT-lb*rZaI!mOP=uz+1?*)EK*yHUFdtY=Kf z`Qn3U3D%cagU}9_d{_%E{`8~HUC=-qY7~$wSzM=2wzRpSs}k+(1D|$`uv#H&9VD*7 z(?t-N0M5L?d2v+(Xa!x)cvJEK{3APTSz1l%aLlcpjlBWfU@^S~@EMwGM_kdN z1+?Rje$pn}kyg_UY|THkCpucZAsFQOt|IPus}sA9ew#}XV%RjsR}hB=fveey`x z?3D4LU015e+;(>~9PeAxOR9<|&P?+e<;`{MTvJdb?tiUGLRHwSMI z{2mWv1o2}VKlS^Hj`4P9c;NiGQsHF2`cGA2 znbEm>eC(#kK-62ZuoNExoQMvNjYLl0SSm`GN5A>y$9S)6XlQsKGJmpE%ygQ+#&_$_ zOGPoHiaQk1*LHJwWD*0FMNhGaHfQ<#5@c}l<9!ocKfZX0e2s7U9ax0vTlxguZay7F zZ-vE(B*r-=+<=9%PuoJXkqOVTG6Kz29V{j1t`s@bMCzBHl$Rfjah$|KlxKsgo-7uJ z$_sZm#0jk9KI?R1@@$zfw0GM;v;e_Ew5a7b6{;moYDtkgu9Uk93g;H9b7g3}Q_NIf zyHzb&Ae8Z#)&kqq#feTW#$Ig};{6)+4Z^XZcRQXkV|dK0^JB2-TJCg)5OrrObMcTV z>W^0XYCV>Y zt-;=|_V%6Vu)MzB&hD;SPisd<<=>aSwbSh_i@nj^)qnh=yJPsq{_*hm5zNFXbIMLU zsfu|g951Phl@lM=4N%DML2eg|3S#qmV)x5g?Lh3j{JQ7`W$fAu%93x+@cnScvI}!D zRkN~*#7v^?v~0Ek(RxjpkA`0 z=%0MMihjQI@H@Y;v^2mKCKfhz$lSBBq)RSMpJ(B zG`s@+zaG4Quk#-{6dD_iV$UZH(F2pXE;2rWEx>TrLx=|bBN4x^slwmr_xXIVF=PmJ zZf~k+gnc&ngWiVCW}u1g4mMTPZK~V6sXf#h*u1$R(4YbCZ4Wh7w0qnAZ9z|{EktPd z13jzc`W<5kN^OUuk+x&~9NltVux(4Clt)sQJq;$