+
    Bi8                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RI	H
t
  ! R R4      t ! R R]P                  4      tR	 tR# )
    N)HTTPException)support)BytesIOc                      a  ] tR t^t o RtRtRtRt^t^ t	Rt
RtR tR tR tR tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tRtV t R# )TestBase Nu   c                   V P                   f&   \        P                  ! V P                  4      V n         V P                   P                  V n        V P                   P
                  V n        V P                   P                  V n        V P                   P                  V n	        V P                   P                  V n
        V P                   P                  V n        R # N)codeccodecslookupencodingencodedecodestreamreaderreaderstreamwriterwriterincrementalencoderincrementaldecoderselfs   &2/usr/lib/python3.14/test/multibytecodec_support.pysetUpTestBase.setUp   s    ::t}}5DJjj''jj''jj--jj--"&**"?"?"&**"?"?    c                   . pV P                    FL  pVP                  R 4      pVP                  4       pV Uu. uF  qUR ,           NK  	  ppVP                  V4       KN  	  \	        V!   Fx  w  rgV P                  V4      ^ ,          pV P                  WP                  R4      4       V P                  '       g   KQ  V P                  W`P                  V4      ^ ,          4       Kz  	  R# u upi )   
utf-8N)	tstringsplitpopappendzipr   assertEqualroundtriptestr   )	r   tstring_linesblineslastlinenativeutf8us	   &        r   test_chunkcodingTestBase.test_chunkcoding$   s    AGGENE99;D.34edE\\eE4  '   /LFF#A&AQG 45!!!  Q):;	 0 5s   C&c                |   V P                    EF*  w  rp\        V\        4      '       d   V P                  pMV P                  pV'       d   V! W4      ^ ,          pW@P                  J d\   V P                  \        V4      \        J \        V4      4       V P                  WSV: RV P                  : RV: RV: RV: 2	4       K  V P                  \        V4      \        J \        V4      4       V P                  WSV: RV P                  : RV: RV: RV: 2	4       EK  V P                  \        WAV4       EK-  	  R# )r   .decode(, )= != .encode(N)
codectests
isinstancebytesr   r   
assertTruetypestrr%   r   assertRaisesUnicodeErrorr   sourceschemeexpectedfuncresults   &     r   test_errorhandleTestBase.test_errorhandle2   s    (,$FH&%(({{{{f-a0;;&OODLC$7fF$$V(.vv(0&23
 OODLE$94<H$$V(.vv(0&23
 !!,fE) )8r   c                    V P                   '       d   V P                  R 4       RpV P                  V P                  VR4      ^ ,          R4       R# )$encoding contains full ISO 10646 mapu   ଓଣୠ nd eggsxmlcharrefreplaces   &#2835;&#2851;&#2912; nd eggsN)has_iso10646skipTestr%   r   )r   ss   & r   test_xmlcharrefreplaceTestBase.test_xmlcharrefreplaceI   sE    MM@A(KK./2,	
r   c                0  a V P                   '       d   V P                  R 4       ^ RIHo V3R lp\        P
                  ! RV4       V P                  '       d   V P                  w  r#MRpRpV P                  V P                  VR4      ^ ,          V4       R# )rH   )codepoint2namec                   < \        V \        4      '       g   \        R V ,          4      h. pV P                  V P                  V P
                    F^  p\        V4      S9   d+   VP                  RS\        V4      ,          ,          4       K=  VP                  R\        V4      ,          4       K`  	  RP                  V4      V P
                  3# )zdon't know how to handle %rz&%s;z&#%d;r   )	r8   UnicodeEncodeError	TypeErrorobjectstartendordr#   join)exclcrP   s   &  r   xmlcharnamereplace>TestBase.test_customreplace_encode.<locals>.xmlcharnamereplaceY   s    c#566 = CDDAZZ		#''2q6^+HHVnSV&<<=HHWs1v-.	 3
 GGAJ((r   ztest.xmlcharnamereplaceu   «ℜ» = 〈ሴ〉s*   &laquo;&real;&raquo; = &lang;&#4660;&rang;N)	rJ   rK   html.entitiesrP   r   register_errorxmlcharnametestr%   r   )r   r\   sinsoutrP   s   &   @r   test_customreplace_encode"TestBase.test_customreplace_encodeS   s    MM@A0		) 	79KL,,IC7C@DS$=??@BCG	Ir   c                    R  p\         P                  ! RV4       V P                  RV P                  ,           R,           R4      ^ ,          pV P	                  VR4       R# )c                     R V P                   3# )s   1234rV   rY   s   &r   	myreplace7TestBase.test_callback_returns_bytes.<locals>.myreplaceo   s    SWW%%r   test.cjktestabcdefs
   abc1234defN)r   r_   r   unmappedunicoder%   )r   ri   encs   &  r   test_callback_returns_bytes$TestBase.test_callback_returns_bytesn   sM    	&ni8kk%$"6"66>OPQRm,r   c                   a V3R  lp\         P                  ! RV4       . RO. R\        4       3 F/  oV P                  \        V P
                  V P                  R4       K1  	  R# )c                     < SV P                   3# r
   rg   )rY   rets   &r   ri   7TestBase.test_callback_wrong_objects.<locals>.myreplacev   s    >!r   rk   N)         )r   r_   rT   r=   rS   r   rn   )r   ri   rt   s   & @r   test_callback_wrong_objects$TestBase.test_callback_wrong_objectsu   sN    	"ni8r42Cid6J6J,. 3r   c                :   R  p\         P                  ! RV4       V P                  V P                  RV P                  ,           R,           R4      R4       R p\         P                  ! RV4       V P                  \        V P                  V P                  R4       R# )c                 0    R \        V P                  4      3# x)intrV   rh   s   &r   ri   4TestBase.test_callback_long_index.<locals>.myreplace   s    SWW&&r   rk   abcdefghc                 4    R \         P                  ^,           3# r}   )sysmaxsizerh   s   &r   ri   r      s    q))r   N)s	   abcdxefgh	   )r   r_   r%   r   rn   r=   
IndexErrorr   ri   s   & r   test_callback_long_index!TestBase.test_callback_long_index~   s    	'ni8Vd.B.B%BV%K%356G	I	*ni8*dkk43G3G(	*r   c                    R  p\         P                  ! RV4       V P                  \        V P                  V P
                  R4       R# )c                     R# )r~   )r~   N rh   s   &r   ri   4TestBase.test_callback_None_index.<locals>.myreplace   s    r   rk   N)r   r_   r=   rS   r   rn   r   s   & r   test_callback_None_index!TestBase.test_callback_None_index   s8    	ni8)T[[$2F2F(	*r   c                   a V3R  lo^Sn         \        P                  ! RS4       V P                  V P	                  RV P
                  ,           R,           R4      R4       R# )c                 x   < SP                   ^ 8  d   S;P                   ^,          un         R# RV P                  3# )r   TERMINAL)REPLACEDr   )limitrV   )rY   ri   s   &r   ri   8TestBase.test_callback_backward_index.<locals>.myreplace   s2    "1$&&"CGG,,r   rk   r   r   N)s4   abcdREPLACEDabcdREPLACEDabcdREPLACEDabcdTERMINALefghr   )r   r   r_   r%   r   rn   r   s   &@r   test_callback_backward_index%TestBase.test_callback_backward_index   sS    	- 	ni8Vd.B.B%BV%K%35L	Nr   c                    R  p\         P                  ! RV4       V P                  V P                  RV P                  ,           R,           R4      R4       R# )c                 ,    R V P                   ^,           3# )r   rg   rh   s   &r   ri   7TestBase.test_callback_forward_index.<locals>.myreplace   s    !,,r   rk   r   r   N)s   abcdREPLACEDghr   )r   r_   r%   r   rn   r   s   & r   test_callback_forward_index$TestBase.test_callback_forward_index   sI    	-ni8Vd.B.B%BV%K%356L	Nr   c                    R  p\         P                  ! RV4       V P                  \        V P                  V P
                  R4       R# )c                     R# )TERM)r   d   r   rh   s   &r   ri   :TestBase.test_callback_index_outofbound.<locals>.myreplace   s      r   rk   N)r   r_   r=   r   r   rn   r   s   & r   test_callback_index_outofbound'TestBase.test_callback_index_outofbound   s8    	!ni8*dkk43G3G(	*r   c                   \         P                  ! R 4      pR.\        \        ^^!4      4      ,           . RO,            F  pV! \	        V P
                  ^,          4      4      p\	        4       pV P                  4       p Ve   VP                  V4      pMVP                  4       pV'       g   M$VP                  V4      pVP                  V4       KT  V P                  VP                  4       V P
                  ^ ,          4       K  	  R# )r   N@         i   i   )r   	getreaderlistranger   r    r   readr   writer%   getvalue)r   
UTF8Readersizehintistreamostreamencoderdataes   &       r   test_incrementalencoder TestBase.test_incrementalencoder   s    %%g.
eArl!3312 2H a!9:GiG--/G'"<<1D"<<>DNN4(a W--/aA!2r   c                   \         P                  ! R 4      pRR.\        \        ^^!4      4      ,           . RO,            F  p\	        V P
                  ^ ,          4      pV! \	        4       4      pV P                  4       p VP                  V4      pV'       g   M$VP                  V4      pVP                  V4       K?  V P                  VP                  4       V P
                  ^,          4       K  	  R# )r   Nr   )r   	getwriterr   r   r   r    r   r   r   r   r%   r   )r   
UTF8Writerr   r   r   decoderr   r.   s   &       r   test_incrementaldecoder TestBase.test_incrementaldecoder   s    %%g.
r
T%2,%7712 2Hdll1o.G +G--/G||H-t,AMM!$W--/aA2r   c                   V P                   pV P                  4       pV P                  \        VP                  VR 4       RVn        V P                  VP	                  VR 4      R4       VP                  4        R p\        P                  ! RV4       RVn        V P                  VP	                  VR 4      R4       RVn        V P                  VP	                  VR 4      R4       R# )Tignorer   c                     R V P                   3# )calledrg   rh   s   &r   tempreplaceDTestBase.test_incrementalencoder_error_callback.<locals>.tempreplace   s    cgg&&r   ztest.incremental_error_callbacks   calledN)
rn   r   r=   rR   r   errorsr%   resetr   r_   )r   invr   r   s   &   r   &test_incrementalencoder_error_callback/TestBase.test_incrementalencoder_error_callback   s    ""##%,ahhTB#t,c2			'?M4#t,i8 #t,c2r   c                   \         P                  ! R 4      pR F  pRR.\        \        ^^!4      4      ,           . RO,            F  pV P	                  \        V P                  ^ ,          4      4      pV! \        4       4      p\        WB4      p V! V4      pV'       g   M-VR8X  d   VP                  V4       K,  VP                  V4       K?  V P                  VP                  4       V P                  ^,          4       K  	  K  	  R# )r   	readlinesNr   readliner   r   r   )r   r   r   r   r   r   r    getattr
writelinesr   r%   r   )r   r   namer   r   r   rC   r   s   &       r   test_streamreaderTestBase.test_streamreader   s    %%g.
5D!2JeArl);;56 6++gdll1o&>?$WY/w->D{***40d+  !1!1!3T\\!_E6 6r   c                &   Rp\         P                  ! R4      pV F  pR.\        \        ^^!4      4      ,           . RO,            F  pV! \	        V P
                  ^,          4      4      pV P                  \	        4       4      p\        WS4      p Ve
   V! V4      pMV! 4       pV'       g   M-VR8X  d   VP                  V4       K8  VP                  V4       KK  V P                  VP                  4       V P
                  ^ ,          4       K  	  K  	  R# )r   r   r   Nr   r   )r   r   r   r   r   r    r   r   r   r   r%   r   )	r   	readfuncsr   r   r   r   r   rC   r   s	   &        r   test_streamwriterTestBase.test_streamwriter   s    5	%%g.
D!FT%2,%7756 6$WT\\!_%=>++gi0w-+#H~#v{***40d+  !1!1!3T\\!_E%6 r   c                \    \        4       pV P                  V4      pVP                  4        R # r
   )r   r   r   )r   streamr   s   &  r   "test_streamwriter_reset_no_pending+TestBase.test_streamwriter_reset_no_pending  s"     V$r   c                    V P                  4       pV P                  \        4      ;_uu_ 4        V=R R R 4       R #   + '       g   i     R # ; ir
   )r   r=   AttributeErrorr   )r   r   s   & r   $test_incrementalencoder_del_segfault-TestBase.test_incrementalencoder_del_segfault  s5    ##%~.. /...s	   ;A	)r   r   r   r   r   r   r   )!__name__
__module____qualname____firstlineno__r   r   r    r7   r&   rJ   r`   rn   r   r/   rE   rM   rc   rp   ry   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s     HEGJMLOO@<F.
I6-.**NN*B(B"3(F&F0 r   r   c                   `   a  ] tR tRt o . t. t. t. tR tR t	R t
R tR tR tR tR	 tR
tV tR# )TestBase_Mappingi  c                     V P                  4       P                  4        R#   \        \        3 d'    T P	                  R T P
                  ,           4        R# i ; i)zCould not retrieve N)open_mapping_filecloseOSErrorr   rK   
mapfileurlr   s   &r   r   TestBase_Mapping.setUp$  sI    	A""$**,' 	AMM/?@	As   " 3AAc                F    \         P                  ! V P                  R R7      # )r   )r   )r   open_urlresourcer   r   s   &r   r   "TestBase_Mapping.open_mapping_file*  s    '''JJr   c                    V P                   P                  R 4      '       d   V P                  4        R# V P                  4        R# )z.xmlN)r   endswith_test_mapping_file_ucm_test_mapping_file_plainr   s   &r   test_mapping_file"TestBase_Mapping.test_mapping_file-  s/    ??##F++'')))+r   c                b   R  p/ pV P                  4       ;_uu_ 4       pV F  pV'       g    MVP                  R4      ^ ,          P                  4       p\        V4      ^8w  d   KE  V^ ,          R,          R8w  d   V P                  RV: 24       \        P                  V^ ,          R,          4      p\        V4      ^8X  d   ^V^ ,          8:  d   K  V! V^,          4      p\        V4      R8X  g   Wr9   d   K  WbV&   V P                  Wg4       K  	  RRR4       R#   + '       g   i     R# ; i)c                 P    R P                  R V P                  R4       4       4      # )r   c              3   L   "   T F  p\        \        V^4      4      x  K  	  R# 5i)   N)chrr   ).0r~   s   & r   	<genexpr>MTestBase_Mapping._test_mapping_file_plain.<locals>.unichrs.<locals>.<genexpr>5  s     ALq3s1bz??Ls   "$+)rX   r!   )rL   s   &r   unichrs:TestBase_Mapping._test_mapping_file_plain.<locals>.unichrs4  s    77AAGGCLAAAr   #:Nrw   N0xzInvalid line: :rw   NNi  N)r   r!   lenfailr9   fromhexrW   
_testpoint)r   r  urt_wafr+   r   csetchunichs   &       r   r   )TestBase_Mapping._test_mapping_file_plain3  s    	B ##%%zz#q)//1t9>72;$&IIth78tAwr{3v;!#q	(9Q(u:'5? &u.%  &%%%s   C5DD.	c                H   V P                  4       ;_uu_ 4       pVP                  4       pR R R 4       \        P                  ! RX4      pV F@  w  rE\	        \        V^4      4      p\        P                  V4      pV P                  Wv4       KB  	  R #   + '       g   i     Lo; i)Nz'<a u="([A-F0-9]{4})" b="([0-9A-F ]+)"/>)	r   r   refindallr   r   r9   r  r	  )r   r  ucmdataucunicodedr  codechs   &       r   r   'TestBase_Mapping._test_mapping_file_ucmN  ss    ##%%ffhG &ZZA7KJCC%E]]5)FOOF*  &%s   BB!	c                L    V P                    F  pV P                  ! V!   K  	  R # r
   )supmapsr	  )r   mappings   & r   test_mapping_supplemental*TestBase_Mapping.test_mapping_supplementalW  s    ||GOOW% $r   c                    W3V P                   9  d,   V P                  VP                  V P                  4      V4       W3V P                  9  d(   V P                  \        WP                  4      V4       R # R # r
   )pass_enctestr%   r   r   pass_dectestr<   )r   r  r  s   &&&r   r	  TestBase_Mapping._testpoint[  s]    ?$"3"33U\\$--8&A?$"3"33S7? 4r   c                   V P                    EFR  w  rp\        V\        4      '       d   VP                  pMVP                  pV'       d   \        V\        4      '       do   V! V P
                  V4      pV P                  \        V4      \        J \        V4      4       V P                  WSV: R V P
                  : RV: RV: RV: 2	4       K  V! V P
                  V4      pV P                  \        V4      \        J \        V4      4       V P                  WSV: RV P
                  : RV: RV: RV: 2	4       EK1  V P                  \        W@P
                  V4       EKU  	  R# )r2   r3   r4   r5   r6   N)r7   r8   r9   r   r   r   r:   r;   r<   r%   r=   r>   r?   s   &     r   rE   !TestBase_Mapping.test_errorhandlea  s    (,$FH&%((}}}}fe,,!$--8FOODLC$7fF$$V(.vv(0&23
 "$--8FOODLE$94<H$$V(.vv(0&23
 !!,mmVL+ )8r   r   N)r   r   r   r   r  r  r  r7   r   r   r   r   r   r  r	  rE   r   r   r   s   @r   r   r     sK     LLGJAK,/6+&@M Mr   r   c                 "   \         P                  P                  \         P                  P                  \        4      R 4      p\        \         P                  P                  WR,           4      R4      ;_uu_ 4       pVP                  4       pRRR4       \        \         P                  P                  WR,           4      R4      ;_uu_ 4       pVP                  4       pRRR4       XV3#   + '       g   i     Le; i  + '       g   i     XX3# ; i)cjkencodingsz.txtrbNz	-utf8.txt)ospathrX   dirname__file__openr   )r   dirr  encodedr-   s   &    r   load_teststringr-  y  s    
'',,rwwx0.
AC	bggll3v.	5	5&&( 
6	bggll3{ 23T	:	:avvx 
;D=	 
6	5	:	:D=s   :C(C;(C8	;D	)r   r&  r  r   unittesthttp.clientr   testr   ior   r   TestCaser   r-  r   r   r   <module>r3     sH     	 	 
  %  L L^YMx(( YMvr   