+
    Bi                         ^ RI t ^ RIt^ RIHtHt ^ RIHtHtHt ^ RI	H
t
Ht  ! R R]P                  ]
4      t ! R R]P                  4      t ! R	 R
]P                  4      t]R8X  d   ]P"                  ! 4        R# R# )    N)IteratorIterable)TemplateInterpolationconvert)TStringBaseCasefstringc                   P   a  ] tR t^	t o R tR tR tR tR tR t	R t
R tR	tV tR
# )TestTemplatec                   V P                  \        RR 4      P                  R4       V P                  \        RR 4      P                  R4       V P                  \        RR 4      P                  R4       RpRVR-3 P
                  ^ ,          pV P                  \        V4      P                  R4       V P                  \        V4      P                  R4       V P                  \        V4      P                  R4       R# )	 r   zstring.templatelibar   Nr    r   r   )assertEqualtype__name____qualname__
__module__interpolations)selfr   is   &  8/usr/lib/python3.14/test/test_string/test_templatelib.pytest_commonTestTemplate.test_common   s    c++Z8c//<c--/CDqcF!!!$a))?;a--?a++-AB    c                ,   V P                  \        R 4      ;_uu_ 4         ! R R\        4      pRRR4       V P                  \        R 4      ;_uu_ 4         ! R R\        4      pRRR4       R#   + '       g   i     LH; i  + '       g   i     R# ; i)is not an acceptable base typec                       ] tR t^tRtR# *TestTemplate.test_final_types.<locals>.Subr   Nr   r   r   __firstlineno____static_attributes__r   r   r   Subr"      s    r   r&   Nc                       ] tR t^tRtR# r!   r#   r   r   r   r&   r"      s    cr   )assertRaisesRegex	TypeErrorr   r   )r   r&   s   & r   test_final_typesTestTemplate.test_final_types   sb    ##I/OPP$h$ Q ##I/OPP)m) QP QP QPPs   A/B/A?	B	c                   RR pV P                  V\        4       V P                  VRR4       V P                  \	        V4      R 4       RR pV P                  VRR4       V P                  \	        V4      R4       RR pV P                  VP
                  R4       V P                  \        VP                  4      ^ 4       V P                  \	        V4      R4       R# )Hello, worldr   Hello,
worldNr-   r   r   )r.   )assertIsInstancer   assertTStringEqualr   r	   stringslenr   r   ts   & r   test_basic_creation TestTemplate.test_basic_creation   s    a*#4b9^4 5"-R(	$67Q--.2_5r   c                    \        R RRR4      pV P                  VR4       \        R RR4      pV P                  VR4       \        R R4      pV P                  VR4       \        R 4      pV P                  VR4       R# )	Marianamer   fmtN)r9   r:   r   r;   )r9   r:   r   r9   r:   )r9   )r   assertInterpolationEqual)r   r   s   & r   test_interpolation_creation(TestTemplate.test_interpolation_creation0   sy    '636%%a)FG'63/%%a)?@'6*%%a):;'"%%a4r   c           
        \        \        R RRR4      4      pV P                  VRR.4       V P                  \	        V4      R 4       \        \        R RRR4      R4      pV P                  VRR.4       V P                  \	        V4      R4       \        R\        R RRR4      4      pV P                  VRR.4       V P                  \	        V4      R4       \        RR	\        R RRR4      R
4      pV P                  VRR.4       V P                  \	        V4      R4       \        \        R RRR4      \        RRRR4      4      pV P                  VRRR.4       V P                  \	        V4      R4       R# )r9   r:   Nr    is my namezMaria is my nameHello, zHello, MariaHello, !zHello, Maria!PythonlanguageMariaPythonr   r<   )r   rA   rB   r   )rB   rE   )r   r   r   )rF   rG   )r   r   r1   r   r	   r4   s   & r   test_creation_interleaving'TestTemplate.test_creation_interleaving=   sn   ]7FD"=>8.?-@AW- ]7FD"=}M#69J8KL%78 YgvtR HI?5F4GH^4 WdM'64$L#36G5HI_5 ]7FD"="8ZrBD|/1GH	
 	]3r   c                    RR pV P                  VP                  R4       RpR	VR-3 pV P                  VP                  R
4       Rp^ pRVR-VR-VR-3 pV P                  VP                  R4       R# )r-   Lysr:   GRagecountryNr/   r   rI   )rM   )rB   rD   z from r   )rM   r   rN   )r   values)r   r5   r:   rP   rO   s   &    r   test_template_values!TestTemplate.test_template_values[   ss    2&dV8,2dVcU	2#34r   c                x   R pRR RR RVR-3 RVR-
3 RRRR-3 \        4       \        R4      \        \        RRRR4      4      \        R\        RRR	R4      4      3	 F  p\        \        P                  ^,           4       F  pV P                  W2R
7      ;_uu_ 4        \        P                  ! W#R7      p\        P                  ! V4      pV P                  VP                  VP                  4       V P                  \        V4      \        V4      4       RRR4       K  	  K  	  R#   + '       g   i     K  ; i)testr   userz1 / 0.3.2fr   Nikitar:   Nr)prototemplateprotocolr   r   )z	No values)zWith inter r   )zWith ! r   )zWith format r   g
@)r   r   rangepickleHIGHEST_PROTOCOLsubTestdumpsloadsr   rQ   r	   )r   rV   r[   rZ   pickled	unpickleds   &     r   test_pickle_template!TestTemplate.test_pickle_templateh   s    $ dX(7-3-(JSM]8VT2>?S-&#rBC

H v66:;\\\AA$ll8DG &W 5I$$Y%5%5xG$$WY%79JK BA <

 BAAs   A8D(	(D9c           	        \        R RRR4      \        R RRR4      \        R	RRR4      3 EF  p\        \        P                  ^,           4       F  pV P	                  W!R7      ;_uu_ 4        \        P
                  ! WR7      p\        P                  ! V4      pV P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       V P                  VP                  VP                  4       RRR4       K  	  EK  	  R#   + '       g   i     EK  ; i)
rX   r:   Nr   rY   xrW   )rZ   interpolationr\   gUUUUUU?)r   r^   r_   r`   ra   rb   rc   r   value
expression
conversionformat_spec)r   rj   rZ   rd   re   s   &    r   test_pickle_interpolation&TestTemplate.test_pickle_interpolation}   s   (FD"5(FC4#sD%0
M
 v66:;\\\KK$ll=IG &W 5I$$Y__m6I6IJ$$Y%9%9=;S;ST$$Y%9%9=;S;ST$$Y%:%:M<U<UV LK <
 LKKs   +CE	Er   N)r   r   r   r$   r   r*   r6   r>   rJ   rR   rf   ro   r%   __classdictcell____classdict__s   @r   r   r   	   s6     	C*6&54<5L*W Wr   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TemplateIterTestsc                    V P                  \        RR 4      \        4       V P                  \        RR 4      \        4       R# )r   Nr   r   )r0   iterr   r   )r   s   &r   test_abcTemplateIterTests.test_abc   s*    d3i2d3i2r   c                    \        \        RR 4      4      pV P                  \        R4      ;_uu_ 4         ! R RV4      pRRR4       R#   + '       g   i     R# ; i)r   r   c                       ] tR t^tRtR# ))TemplateIterTests.test_final.<locals>.Subr   Nr#   r   r   r   r&   r|      s    Sr   r&   Nr   r   )r   rw   r(   r)   )r   TemplateIterr&   s   &  r   
test_finalTemplateIterTests.test_final   s;    DI##I/OPP(l( QPPPs   AA	c                   ^p\        \        RVR-3 4      4      pV P                  V^ ,          R4       V P                  V^,          \        4       V P                  V^,          P
                  ^4       V P                  V^,          P                  R4       V P                  V^,          P                  R4       V P                  V^,          P                  R4       V P                  V^,          R4       R# )   abc  yzri   Nr   )r   r   )	listrw   r   r0   r   rk   rl   rm   rn   )r   ri   ress   &  r   	test_iterTemplateIterTests.test_iter   s    4qc&'Q(c!fm4Qq)Q**C0Q**D1Q++R0Q'r   c                    \        R^R-3 4      pV P                  \        V4      \        4       V P	                  \
        \        V4       V P	                  \
        \        V4       R# )r   1Nr   )rw   r0   nextr   assertRaisesStopIteration)r   template_iters   & r   test_exhausted TemplateIterTests.test_exhausted   sJ    VsVd=1=A-}=-}=r   r   N)
r   r   r   r$   rx   r~   r   r   r%   rq   rr   s   @r   ru   ru      s     3)

(> >r   ru   c                   &   a  ] tR t^t o R tRtV tR# )TestFunctionsc           
     x   ^ RI Hp RRRV! ^^4      3 EFS  pV P                  RV: 24      ;_uu_ 4        V P                  \	        VR4      V4       V P                  \	        VR4      \        V4      4       V P                  \	        VR4      \        V4      4       V P                  \	        VR4      \        V4      4       V P                  \        4      ;_uu_ 4        \	        VR	4       RRR4       V P                  \        4      ;_uu_ 4        \	        V^4       RRR4       V P                  \        4      ;_uu_ 4        \	        V\        4       4       RRR4       RRR4       EKV  	  R#   + '       g   i     L; i  + '       g   i     Ll; i  + '       g   i     LE; i  + '       g   i     EK  ; i)
r   )Fractionu   CaféNgQ	@zobj=srY   r   z)	fractionsr   ra   r   r   strreprasciir   
ValueErrorobject)r   r   objs   &  r   test_convertTestFunctions.test_convert   s)   &T4!Q8Ci((  d!3S9  c!2CH=  c!2DI>  c!2E#J? &&z22C% 3&&z22CO 3&&z22C* 3 )( 9 322222 )((sT   B)F'E.+%F'F%F'FF'.E>9F'FF'F$F''F9r   N)r   r   r   r$   r   r%   rq   rr   s   @r   r   r      s     + +r   r   __main__)r_   unittestcollections.abcr   r   string.templatelibr   r   r   test.test_string._supportr   r	   TestCaser   ru   r   r   mainr   r   r   <module>r      sl      . ? ? >BW8$$o BWJ>)) ><+H%% +( zMMO r   