From be5db130051cfd3528b0b2c582a8970d94f27bbe Mon Sep 17 00:00:00 2001 From: Calixte Denizet Date: Fri, 26 May 2023 10:17:14 +0200 Subject: [PATCH] Reset the formatted value when after a text field has been modified --- src/display/annotation_layer.js | 1 + test/integration/annotation_spec.js | 25 +++++++++++++++++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/issue16473.pdf | Bin 0 -> 6641 bytes 4 files changed, 27 insertions(+) create mode 100755 test/pdfs/issue16473.pdf diff --git a/src/display/annotation_layer.js b/src/display/annotation_layer.js index e8755c502..a5928dbaa 100644 --- a/src/display/annotation_layer.js +++ b/src/display/annotation_layer.js @@ -1108,6 +1108,7 @@ class TextWidgetAnnotationElement extends WidgetAnnotationElement { event.target.value, "value" ); + elementData.formattedValue = null; }); element.addEventListener("resetform", event => { diff --git a/test/integration/annotation_spec.js b/test/integration/annotation_spec.js index 8b6617eed..118e1c7f7 100644 --- a/test/integration/annotation_spec.js +++ b/test/integration/annotation_spec.js @@ -151,6 +151,31 @@ describe("Text widget", () => { ); }); }); + + describe("issue16473.pdf", () => { + let pages; + + beforeAll(async () => { + pages = await loadAndWait("issue16473.pdf", "[data-annotation-id='22R']"); + }); + + afterAll(async () => { + await closePages(pages); + }); + + it("must reset a formatted value after a change", async () => { + await Promise.all( + pages.map(async ([browserName, page]) => { + await page.type(getSelector("22R"), "a"); + await page.keyboard.press("Tab"); + await page.waitForTimeout(10); + + const text = await page.$eval(getSelector("22R"), el => el.value); + expect(text).withContext(`In ${browserName}`).toEqual("aHello World"); + }) + ); + }); + }); }); describe("Annotation and storage", () => { diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index b1864f846..0422f7d58 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -594,3 +594,4 @@ !multiline.pdf !bug1825002.pdf !issue14755.pdf +!issue16473.pdf diff --git a/test/pdfs/issue16473.pdf b/test/pdfs/issue16473.pdf new file mode 100755 index 0000000000000000000000000000000000000000..e90a61a02caeafa4e6f99a860c12bec3d0c959fa GIT binary patch literal 6641 zcmeHMYgAKL76#F%6i~6KsOVimtU{9e%*{gxLLl-c0t$*~UN;yGxiPsBv}&;^D5Dms z*yj|g)wWhGYNv{{c0{EjzC!Wc)>nO?t&XD>>?-Y?n*@k8?bNlVYt0W?i>!O@-Fu(C zzw@1Q_C6;}8K>Z*0@6S1%GDEJ`TL?cgg~@rj(=n%oMJFhYKvhZrGrp71tLiTh0`Ha z2**PhDip$L;B^*6;y4B;K)DbhBp{R&=E-FKlu5_hfIR(yJ|sPT#8FyWM=8~o0xRfI zP8)3nCM!h1N(-ekXc^i9p_ohtD-1@4vcL+XnxUL3aAI6;Bq^5@aX6+RQANB6CkU|w z7oxEef{Yc#%Y~>=7O7C6gd`3l#CRNmq68KLG-AnkIopzmP+XP=Cz^CrQ7#A^#o30Q z23-ONGvE};l+VnDgc$41d^S)V&Y)=qLJ7zBOaKjpk#N=mGX>{lPoIt-F6JMSewxVCJK;E^9SIUBX28SM)QNi;GmENnKcYAcP zmyg%hEu5?Vz5qX$0T+^1Mr~n=ER^2g7xDKE3yV)z`1^LD>+g#Rdl2;m6@((9u5d&` zFo>iW&V+C=JQWfXk2$MSsnjY}hTf~!=|g@W6tDCi(`+y1HTF8>=U3`C!xFnQP(_CN z_)H>~>GwQmZ))?tcB1e7H^vqlRjPq6af0>*3{-gyAIYir5Q76X7qw!v7Ft1D3Lp$| zK$%K0YMq)S#F7mIGNMo!>(>)D3|clZj@mfTIq1 zIc;Jn6KJDiXWK%XV`(tpLWuws5iG3*1Sy7aoDkq73W*RxfU#6a1q@WPl868}3I0hG z1HU2(_|1a>Wr5W$r!pujZL?@8Kw`kw44MHvg%Bq*Snu5&C4m<%6k^@2qe8Y1%wgQa z7_w-wp|exb$x9SN;8ZnZF@RWH97h!(%8{#Md`l)iFK?H`ueag91lwlsF2C6r zf4OAn$stFS_SkzJOTu)o4y_Do2)Gjd&X3nh_FLb&cVKYcovmf1IhPILcl|64gJ!js ze^&ifwM;qd(|;>eOjQ-ra7;P<^~urW4jxLVyE5-w3$tn4dHDoF+5s0G}2PS4%5 zE3d}9AyZ>%NUuBhH)BKbs15dUzs6QI-QPQNR$5%dsJ461&PS39Cll9K=hl@@KuhXF zzL#D4IJ#fwqvq!CN-OWb(z1W!VN>Si7q&JefBO2@Jky~?=;zZOgkCppH@$d2Xy2j5 z;*df6=AKd&e{(7zx|jY;?d{Lw&z$pmY1ZTcjpcVw2ircM**;~{mrGh(LpXVf9o0kr z1?8q(epgYAT|F2j3Oj#uuc9n(`Fn@`ehj!cD7?+sw`%?rk?uesLVoHlR7x+UpJ z{)!DV{q$pR?|$jKl(xZ9;ty-9?)cA1UA({g+Xo@0$< z=f8a8@E2|I5#&-#np_r~Wq+7$=4#WjRTpb7Bu_dWSbDH3>YY83+gYoL+B*qn;sY8< z=GV;^*Ns>>ZtH&a#wh<1-|5pfmDbK%VJ7Umrd}R>JGB4iZ6)TKv#O?W&N8yxC|Ukp zX6LE*jX~iBt9tKk_fGHpq$S(_Ug`Q~Sw}?Dq*cEZRcyZQoB#gMbKzxNKIi!v+lKLT z*G}zUu71Gf=S*&RE%{MpQ`oD`gX%`+w6ChmKib*P8m&5FF77MXO?9lld|}X{7dd`g z$v10Wx!yZ>-`Dw@W%$Ddaf?TZqs4nBjt&VaJ9=HQe+r86*Gl8t(xAzz_XQCyJMDdQg8SgcqyR=rkh-UHzwc z9x`T7+R*lhmnsDpKYsXAv^U2~TsA())3jrkQ`fX}tw>1EMDnE2BmcY86eYT*DT;}} zG{t{!nqt|AvQ~-g$nuKS_8Bo^@r|EbJ`3z4U%dP1hAV+J>z2k=>`Ujq9h@<(V$0oG z(<@(n5>Twgw5iVk6nmK<>n@u}`i* z7@-8Q?XVXn@zQL~CnD^xB=HigO-GZ{lX&A#w?Nh#IOk3aA##UtwdGA)4SARM3 z;eZTNeqXTn?%ES{!-IS7S)FtDz;Tl3Ug&dDQ=Hy(?ZZ6-85vz`PeGPLVhX^w_iW|dzfO1lmkes$q5ZIRaS_A<*u|$BW5uI2k;ek8>!(jx6 zQG$=6QdA-($gcEyJ`(>W1_g+?v#t|+Z9-Wxw|8iRp1Cx zprs4oBDEO?dok=uNvG}BG21Lghif`5Oc|*HHdO(7s7F13X=-Y>s>kjM3Os6>-SBu! z4}1XK;U1OLy4ke0um{M;6xkF`qh?}QnQYoJS8t>XodG+>gGC683h-E(O6v^z1#uuH zlCi_cM}&Ng%t9nmp+t%aBM?lAAd&EIBzvHC*pP#C8l?UnY>+_P-G-awZ)|jt+mn?i zJaHwY4%y$>ar8i2vS`{Ub8^>(1q8AwXdFrKH3nup$gu>d07F2I=?uMmV z?t1BxkA&Gd?l$M03yR|{SW&=g26r!KZrpY<{4e?K3FI#^?=C8AGJXxHQhhmxZk4eWVBayD-yd?}oHsZkyZ-PwPt~d0;pp#{-rdzHim?Y|e^8!g zINcE>rSh7Np0FnJ5>J_TU?8<85g~@x5<(m~Ng^2{M0sY}2S?x*b4pWs(iC%w;0UN- zC-)n7BzuJ&!R@I>cq{E$2zDB8#W92s*<0I>rSB)~Er*{sag}tE!4iH?ao!PDpcTpY z0J7Ur>i@+(!jo4A#FG~WsOwDQ4=xP6dW}`AF>=Oo8tW&%td><=is-%Lr-_;~OLxLE mCeGj}hVAbdkbo>bI4sz!m!H>JlEd`?j@y+1NdLPp4gLeDSS!o` literal 0 HcmV?d00001