ó
    G±‰j$  ã                   óJ   • S SK Jr  S SKJrJrJrJr  S SKJr   " S S\5      r	g)é    )ÚShadow)ÚOptionsÚCythonScopeÚ
PyrexTypesÚErrors)Ú	TimedTestc                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	Ú
TestShadowé   c                 ó.   • [         R                  " 5         g )N)r   Úreset)Úselfs    Ú¥C:\Users\johnn\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.13_qbz5n2kfra8p0\LocalCache\local-packages\Python313\site-packages\Cython/Tests/TestShadow.pyÚtearDownÚTestShadow.tearDown   s   € Ü�Š�ó    c                 ó¦  • / n/ n[         R                  R                  5        GH  nUR                  S5      tpE[         R                  R                  U5      nU(       a@  [        U5      S:X  a1  US   S:X  a(  [        [        U5      (       a  UR                  U5        M|  US:X  a  M„  [        [        U5      (       d  UR                  U5        M¬  U(       d  Mµ  [        [        U5      nU H;  n[        [        U5      S5      (       d  [        [        U5      S5      (       d  M9    GM     GM	     U R                  U/ 5        U R                  U/ 5        g )NÚ.é   r   ÚmoduleÚstaticmethodÚ__getattr__Ú__getattribute__)r   Údirective_typesÚkeysÚsplitÚdirective_scopesÚgetÚlenÚhasattrr   ÚappendÚgetattrÚtypeÚassertEqual)	r   Úmissing_directivesÚextra_directivesÚfull_directiveÚ	directiveÚrestÚscopeÚdirective_valueÚsubdirectives	            r   Útest_all_directives_in_shadowÚ(TestShadow.test_all_directives_in_shadow
   s  € ØÐØÐÜ%×5Ñ5×:Ñ:×<ˆNØ-×3Ñ3°CÓ8ÐˆIä×,Ñ,×0Ñ0°Ó@ˆEÞœ˜U› q›¨U°1©X¸Ó-Aäœ6 9×-Ñ-Ø$×+Ñ+¨NÔ;ÙØ Ó/ñ äœ6 9×-Ñ-Ø"×)Ñ)¨.Ö9ß�Ü")¬&°)Ó"<�Û$(�LÜ¤ _Ó 5°}×EÑEÜ#¤D¨Ó$9Ð;M×NÓNãô	 %)ñ% =ð. 	×ÑÐ+¨RÔ0Ø×ÑÐ)¨2Õ.r   c                 óV  • [         R                  " S 5      n/ nUR                  R                  5        Ha  nUR	                  S5      (       a  UR                  S5      (       a  M1  US;   a  M9  [        [        U5      (       a  MP  UR                  U5        Mc     U R                  U/ 5        g )NÚ__)ÚPyTypeObjectÚPyObject_TypeCheck)
r   Úcreate_cython_scopeÚentriesr   Ú
startswithÚendswithr    r   r!   r$   )r   Úcython_scopeÚmissing_typesÚkeys       r   Útest_all_types_in_shadowÚ#TestShadow.test_all_types_in_shadow'   s�   € Ü"×6Ò6°tÓ<ˆð ˆØ×'Ñ'×,Ñ,Ö.ˆCØ�~‰~˜d×#Ñ#¨¯©°T×(:Ñ(:ÙØÐ<Ó<ñ Üœ6 3×'Ó'Ø×$Ñ$ SÖ)ñ /ð 	×Ñ˜¨Õ+r   c                 óø  • / n[         R                   HÒ  nS HÉ  nX2-   nU(       aO  US;   d  US:X  aC  U R                  U[        [         5      5        U R                  SU-   [        [         5      5        M]  [	        [         U5      (       d  UR                  U5        [        SS5       H6  nSU-  S-   U-   n[	        [         U5      (       a  M%  UR                  U5        M8     MË     MÔ     U R                  U/ 5        g )	N)Ú ÚuÚs)Ú
Py_UNICODEÚPy_UCS4Ú
Py_ssize_tÚssize_tÚ	ptrdiff_tÚ	Py_hash_tÚusize_tÚp_r   é   ÚpÚ_)r   Ú	int_typesÚassertNotInÚdirr    r!   Úranger$   )r   r8   Úint_nameÚsignÚnameÚptrÚptr_names          r   Útest_int_types_in_shadowÚ#TestShadow.test_int_types_in_shadow9   sÝ   € ØˆÜ×(Ô(ˆHÛ&�Ø‘�æØ ð %Jó Jà 	Ó)ð ×$Ñ$ T¬3¬v«;Ô7Ø×$Ñ$ T¨D¡[´#´f³+Ô>Ùäœv t×,Ñ,Ø!×(Ñ(¨Ô.ä   Až;�CØ" S™y¨3™°Ñ5�HÜ"¤6¨8×4Ó4Ø%×,Ñ,¨XÖ6ó 'ó! 'ñ )ð* 	×Ñ˜¨Õ+r   c                 óè  • [         R                  " S 5      n " S S5      nX!l        [        R                  R                  5        VVs1 s H
  u  u    p4o4iM     snn1 Sk-  n/ n/ nU HÝ  nUS:X  a  M  [        [        U5      (       d  UR                  U5        UR                  U5      (       d  UR                  U5        UR                  S5      (       a    g [        SS5       H]  nSU-  S	-   U-   n	[        [        U	5      (       d  UR                  U	5        UR                  U	5      (       a  ML  UR                  U	5        M_     Mß     U R                  U/ 5        U R                  U/ 5        g s  snnf )
Nc                   ó    • \ rS rSrSrSr/ rSrg)Ú+TestShadow.test_most_types.<locals>.ContextéX   Fé   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚcppÚlanguage_levelÚfuture_directivesÚ__static_attributes__r[   r   r   ÚContextrX   X   s   † ØˆCØˆNØ "Ór   rd   >   Úpy_intÚpy_boolÚpy_floatÚ
py_complexÚobjectÚpy_r   rH   rI   rJ   )r   r3   Ú_contextr   Úmodifiers_and_name_to_typeÚitemsr    r   r!   Úlookup_typer5   rN   r$   )
r   r7   rd   rJ   rQ   Ú
type_namesr8   Úmissing_lookupsrR   rS   s
             r   Útest_most_typesÚTestShadow.test_most_typesR   sS  € ô #×6Ò6°tÓ<ˆ÷	#ñ 	#ð !(Ôô )3×(MÑ(M×(SÑ(SÔ(Uô
Ú(U‘_‘\�a˜ 1ŠDÑ(Uò
ò
ñ
ˆ
ð ˆØˆãˆDØ�xÓÙÜœ6 4×(Ñ(Ø×$Ñ$ TÔ*Ø×+Ñ+¨D×1Ñ1Ø×&Ñ& tÔ,à�‰˜u×%Ñ%Ùä˜Q –{�Ø ™9 s™?¨TÑ1�Üœv x×0Ñ0Ø!×(Ñ(¨Ô2Ø#×/Ñ/°×9Ó9Ø#×*Ñ*¨8Ö4ó #ñ ð$ 	×Ñ˜¨Ô+Ø×Ñ˜¨"Õ-ùó?
s   ÁE.r[   N)
r\   r]   r^   r_   r   r-   r:   rT   rq   rc   r[   r   r   r
   r
      s   † òò/ò:,ò$,õ2+.r   r
   N)
ÚCythonr   ÚCython.Compilerr   r   r   r   ÚCython.TestUtilsr   r
   r[   r   r   Ú<module>rv      s   ðÝ ß DÓ DÝ &ôw.�õ w.r   