From 3c49f9a6063c26e6eba4bcdf9e1c42a4bbea4df0 Mon Sep 17 00:00:00 2001 From: Bruno Carvalhal Date: Mon, 11 Nov 2024 20:57:46 +0100 Subject: [PATCH] Add error cases --- base/src/test/test_fn_unicode.rs | 13 ++++++++++++- xlsx/tests/calc_tests/UNICODE.xlsx | Bin 18108 -> 18655 bytes 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/base/src/test/test_fn_unicode.rs b/base/src/test/test_fn_unicode.rs index 31469d9..dccf67a 100644 --- a/base/src/test/test_fn_unicode.rs +++ b/base/src/test/test_fn_unicode.rs @@ -32,12 +32,23 @@ fn simple_cases() { } #[test] -fn value_errors() { +fn test_error_cases() { let mut model = new_empty_model(); model._set("A1", "=UNICODE(\"\")"); + model._set("A2", "=UNICODE(#CALC!)"); + model._set("A3", "=UNICODE(#NAME?)"); + model._set("A4", "=UNICODE(#VALUE!)"); + model._set("A5", "=UNICODE(#REF!)"); + model._set("A6", "=UNICODE(#DIV/0!)"); + model.evaluate(); assert_eq!(model._get_text("A1"), *"#VALUE!"); + assert_eq!(model._get_text("A2"), *"#CALC!"); + assert_eq!(model._get_text("A3"), *"#NAME?"); + assert_eq!(model._get_text("A4"), *"#VALUE!"); + assert_eq!(model._get_text("A5"), *"#REF!"); + assert_eq!(model._get_text("A6"), *"#DIV/0!"); } #[test] diff --git a/xlsx/tests/calc_tests/UNICODE.xlsx b/xlsx/tests/calc_tests/UNICODE.xlsx index 3268116965915f4c309eeaf6cdfc63de803bcee4..c6058e4bccba4e3494f462b4dadf485a12b96e61 100644 GIT binary patch delta 5054 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 G;Qs)06;Qqa delta 4553 zcmZ8lcQhPK*I$e1tQK9=XpvPzqO)4m=)FVY9Tt& z3H#;A^S&qFdFP+|n_JGDIrF=B?hHB}t2G9zni>!HVn+Fr7)g)E2z7K@RRP_!kKf`A zpqX0Uz$)U%+wJ2hC}7Clrz#(6G8(DphwA5H-07J1ZySA0#*a|=S7*m%rH0=!gXZ-L zf6DqQ7)xo7z02b*7&g+}X@U7?-8Zq+r-$t@rj*~uK8+XIZa|@-66V4|9ag&*Si#M7 zAHqO4Am*STqXG-$Nj~V>*7Ys|=4F<)d+iE?qB+bC_3p`iD-UUy`ErN_aV4A(^^zKVfsB zJf=uPqE>TUetzreUG@pxQ&ebXRbv8@(^V}#B<}n$j;?YiEmo4Cn>IP*ke-O*qe(ES z&+D7gjVHU%YO7p#JNa8D9>Rn3?r6ZhkP{wsXB}KQh6t@qrP$J-M;A z*$AOQ{A@^rXoknf=R?k)jhR-3GFMSVe-c%j*xJCqp2riro!%d&<7O>{wm6AO1ZFmI}yJoVz;2+9yl%#7x+`kqZ z3OXnjF}mBu@N{Yj6|t^2yDF`>#{A*SSSQ39Nw57TG{lO@z8yh)Q7gbO|XMCsXQLuUjcuD zzI}kb5X{|tvD10XIor8~2gjw_!+|Nqzi^OSo=d0XOrB79Ml11E*x2#*XVf{w@*w-Z zQLVOu-R15^yEAfe+uEbad}a%y-*wCtAHBA}HA1S{b(O&AC*JhRL1)U@uTIBd$y$qcAjTq03;S36-te$mxQqVBCG&` z0{|G3B9}pQP|=6JF3y=qb3{H175qRf4P(`4_&LZ(W3OQBk%UjiP5R47BUL%GT+7*A zC_2ABOEq0RT~!a{n{&=6KA5BR)F02ad{hIj0%Ajmsi(Z3wf`|aQYWL3{i>FyWRhfL zG|lv+)%QwB#tDTI-5kc2w-MHpm@c9Yh3HQ1o>h$0I$_n2>oj_iDP}+4 z8mJ$GyK=0*VYBIPMZ&m3e7x(ndJi%at&~j7n*e>j5tq_8I9#b88MdS`;R3eNBr*~E z0JJuAY*U^M$-w6y8Y4}Rv1GOQI?Ws0Pkdv(iF{`9pf`y53m>$Oe)INY1UpoS-I|t0 zmGOR$Ol@ikP_uEMU%0h@G@;-n1$%4iIqr$+Vg8%xbH>GA%L&50U2j>c%0^y?BIc*{T?oyIURCh zsU}1Wt`am42Tk`@nK{42n?PC-N{l7xm}C>V(oG7yy&L^Rw}?}`b6WR(OO$rViO9Op zXud#1g5!vNz)o#*v&Cd6X=VUZZEut-qq^I(H@R-F>7U4M1 zVd=KFu`#k18YJXn*f92rx&EY2oPJAP`YeviH7}vvfn~C!)5UTk#eZJ1%xbfOX_oc)GFp`tR(~(%apVhf2&L`M0W4%89VbYF; z!`+XiC$Kz(A);j;Q0}Tm*72F2>S3abIj>2Bqz%P;Umjt{MvBQF6IiJuL9F0dwFQfv zv3*BNhPgfA4C>;v53T!kCC?r~AM-Gi;x}w1Z7a0S1@Og1WV3uxY^>Mf#g1PT)2D=J zf!5f}=D8BA`)tn_DaI&cJ;*Efkc|S6$})a(sTEq9l{x8mM34>9l!$Ei=qPuWoK9Re zFPC>e2zndwr|bO~s;YxGZ!JVXX$Oc<;&b>J-WJ|}jvj-tjTu16GmGIvt@cQE#eP#l zkpKW7`OOMnXRw#IpR=9UKgFTdz|?I*fGS9NRmLc2#M4n{j+fy54x0u&FIG|`p;_h1U5C$7@bxgJZm9cQ!%qQMkgGJ0!oaBzw?^O_ z16m|Kp}$cfp&vH_J<+v!Ostcy)D=c;}XAap&2HSFCzh|m7gHVs=( zdr`yS*YM+7gK>Jj(u!KTSl9=muGKO*d zN`=j#V=d9Werk~JB^xdJbYtJF_^et>Afj#ly9BdThNOAu3iQ%{5V2G)Y(^z_?l%;* zmo*f7#1NR34ITRAljTPR;fz`RyntA>rK*1DdI#7mF4IT*xTiC&IPM_X$+#1TWNpVB z+h3J?h`DI~d~iSJev80UCA?q5tSW`xxLRG(Ftf^&BFXQy^(+PU84Twy^|8?}?f4Vb zvJIl06FC+fJ7ffjm!EKc|J5%=W4SFc;}WxOK-HaXNC$<7_u35w;nUE;r7UDTE^KO< z18^j8`=Mk}b63Hb$u0Z~Da~zn`uL(12}1`30;w?ScDAW?w;KQCd*bsdasj1&gw#t~ z=HTjbZ!!gfvf8T6`gR%vnwS^gnrTu8DvWf^y>FIl06oXkSbIV^p3f6~ea83WWc&1A zz`;!Hq)^27I2?yIy9J?3m3}PyZ_G$>cTrpOhOP1IWn9mu_oB0&0dI^34?TXx8#wc^ zz&}-L?HbIIvVH133M;E~-wqs|vY_>SwnF0~I&g?UeQ&wkE{|w6uFmv3dV7CK(zvpf zL)yI3phq$yWFjX&`<#ra>g8B2lom`J-u@wcfK+e2Dz=^&abN0YKM8BjX8+iMK2W8* zlkdLVj~-p2WBUo!Rcck*ilU>R4|o#D&)37U1P?z|AJoJKeymp49$vR7Ym>L(i@=#c zn{}i4R_m7e?Tqt0-Ou_&N01)B=095};EC*{(J6m0EPe<1mfAT9j5$*arzrGyA z`-b;TA1BOcG8(!RSG*kH6)dWlXkL7L=E#r?{k(4_Z^m*Y9+9#dTii)LPP@hHPXq0> z{5i0>HX(DRx4wiea=)w}i;xU^U9N;TE2#{tIUB0w9wKRDS7K+8Bp{2h8XY@4Eo&E? z@>&`v9-W(O-n>?-$cx*kF3s~!vin9g-fV~Zsj(P5X-{GmwZJ6@x(*wBx?bX>JBRgt zAC)0=T@4$%2g7lg5u2@c3qL-3zI47@^k(go1rgxC1hZr+> zI25Ydnu>VA+Sc|s2&G~l9Y63@GQBP9HQHm`xxb&`>xSIM%QT+>c4ghGl4L6 zR)s-XK(c(eQ4!$XGNguO%U?QQJ)e25H47#X6FbUY=;ggMvKdF~MxY!&kZD z^H?2-QvzwRMGNH1U4wZACWWpF9NMewMgCx%Ro*JpkyxpIzpC=d5t7Qv4pxhdN zkr$osi?=O3MWdakB4=Y>qJdQ?I?`PqGZ4r(SZL2?FW9BGjU%k7kjWb%NL}O1StJf! zlxsws;>z<)FjjkbJVzNv{D8%}1k6*q7h&`Eh8QPM5{vO8=iMP(1T*n1^E zaCf%U!$(;wy2+vRJa<=Ss3plxLfOA4xqpa8jGI`5EEsMf)>gqIu(f}2d8%yKEG@&( zCc)(M-4fk#lN2a60Pn#1r^I6ew2}CDBq#}fI#NP1Rgvq)-vrddLRv`Ng_@135q1lJ z?ku-0Gj;E}%v~iH6%uC4l7Yr+c-EgKu=oe$JH$H!kHdZmBTM}p6!(ApvLXp(8-V4K z*E6V(Ec-tOzm^SLE?VoSw>^ZAX-MVhhwynM1PXB6ryY@n3ovt^%D>-`MzN>+dZ9Fr zL2A>wGEdgCQX=H|Og1jz!rQcfSDX#9N6_nk6Hv(m!~amiL34NvNvqA!0hDawvz!-)_BJEx_5V*lR)1 z^bjfDNLIuc?J|GIWue#olHk@zs_jhwM&~tZHTb8Vd%vhanfI-kr@r8tl+cdzlOFbp zjQok+{+K}Xkkos}O-riZ`BRrrP6MS>n0kn~zvadW4*p0_ez6eEcPR@=Dz!vqYpUx! zQ&nyYhLrIwf%6W_X&e2mDxfS7ywf<&*2b_TH1l>husF0#4 zWcacF^K$@^*TIn`0sxSvMD$2IB@nWV1oV6Q-;s+%%PRs0Ku8ukYNUh$7#Kp$6A6XfWBlI&`q!a_ z8`%tz1uF0%WtA9^G>RfXr3ZhY!*8g{{|7pO3IA*XA^;-(8>#;AkI_ZoU!$_%|2JxZ ze;c)cP6EhyC3#@!KY|kZLkSGr{ue$_1_OBo|7hKRLnlFGp0X~G@$nxGfeJO_-%JAl qKz|qgjm#b+pQy0?%VDIo3N=vv3DQ?Z3OFH&Y*1mllOXet_x}MOC3!Re