Ë
    Ç[;j4  ã                   ó¬   — d dl Z d dlZd dlZd dlZd dlZddlmZmZmZm	Z	m
Z
 ddlmZmZ  G d„ dej                  «      Z G d„ dej                  «      Zy)	é    Né   )Úinferred_method_return_typesÚ"find_return_type_of_builtin_methodÚunsafe_compile_time_methodsÚis_safe_compile_time_methodÚbuiltin_scope)ÚKNOWN_PYTHON_BUILTINS_VERSIONÚKNOWN_PYTHON_BUILTINSc                   ó   — e Zd Zd„ Zy)ÚTestBuiltinReturnTypesc                 ó2  — t         j                  dk\  }t        j                  «       D ]í  \  }}t	        t
        |dk7  r|nd«      }|j                  «       D ]¾  \  }}t        j                  |«      j                  }t        ||«      }|j                  r`d|v r|j                  d«      d   }|dk(  r|}| j                  |j                  |«       |sŒ{| j                  t        ||«      |› d|› �«       Œ�| j                  |j!                  d¬	«      |«       ŒÀ Œï y )
N)é   é
   ÚunicodeÚstrÚ[r   ÚTÚ.T)Úpyrex)ÚsysÚversion_infor   ÚitemsÚgetattrÚbuiltinsr   ÚlookupÚtyper   Úis_builtin_typeÚ	partitionÚassertEqualÚnameÚ
assertTrueÚhasattrÚempty_declaration_code)	ÚselfÚlook_up_methodsÚ	type_nameÚmethodsÚpy_typeÚmethod_nameÚreturn_type_nameÚbuiltin_typeÚreturn_types	            újG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Tests/TestBuiltin.pyÚ'test_find_return_type_of_builtin_methodz>TestBuiltinReturnTypes.test_find_return_type_of_builtin_method   s  € ä×*Ñ*¨fÑ4ˆä">×"DÑ"DÖ"FÑˆI�wÜœh°YÀ)Ò5K©	ÐQVÓWˆGà18·±¶Ñ-�Ð-Ü,×3Ñ3°IÓ>×CÑC�Ü@ÀÈ{Ó[�à×.Ò.ØÐ.Ñ.Ø+;×+EÑ+EÀcÓ+JÈ1Ñ+MÐ(Ø'¨3Ò.Ø+4Ð(Ø×$Ñ$ [×%5Ñ%5Ð7GÔHÚ&ØŸ™¬°¸Ó(EÈ)ÈÐTUÐVaÐUbÐGcÕdà×$Ñ$ [×%GÑ%GÈdÐ%GÓ%SÐUeÕfñ 2Añ #Gó    N)Ú__name__Ú
__module__Ú__qualname__r.   © r/   r-   r   r      s   „ ógr/   r   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestBuiltinCompatibilityc                 óô  — t        t        «      }t        j                  dk7  r|j	                  d«       t        j                  t        j                  ddgdd¬«      }t        d„ t        j                  |j                  «      D «       «      }t        j                  t        k  rD||z
  }|r,| j                  d	d
j                  t!        |«      «      › �«       | j                  d«       | j#                  ||«       y )NÚwin32ÚWindowsErrorz-czGimport builtins, json, sys; sys.stdout.write(json.dumps(dir(builtins)))TÚutf8)Úcapture_outputÚencodingc              3   ó(   K  — | ]
  }|d vr|–— Œ y­w))Ú__doc__Ú
__loader__r0   Ú__package__Ú__spec__Nr3   )Ú.0r    s     r-   Ú	<genexpr>zMTestBuiltinCompatibility.test_python_builtin_compatibility.<locals>.<genexpr>5   s"   è ø€ ð %]Ù6�TØÐ[Ñ[ô Ñ6ùs   ‚z=skipping test, older Python release found. Missing builtins: z, z*skipping test, older Python release found.)Úsetr
   r   ÚplatformÚdiscardÚ
subprocessÚrunÚ
executableÚ	frozensetÚjsonÚloadsÚstdoutr   r	   ÚskipTestÚjoinÚsortedÚassertSetEqual)r$   Úexpected_builtinsÚoutputÚruntime_builtinsÚmissing_builtinss        r-   Ú!test_python_builtin_compatibilityz:TestBuiltinCompatibility.test_python_builtin_compatibility*   sð   € ÜÔ 5Ó6ÐÜ�<‰<˜7Ò"Ø×%Ñ% nÔ5ô —‘Ü�^‰^˜TÐ#lÐmØØô
ˆô
 %ñ %]Ü!ŸZ™Z¨¯©Ô6ó%]ó ]Ðô ×ÑÔ;Ò;Ø0Ð3CÑCÐÙØ—‘Ð ]Ð^b×^gÑ^gÔhnÐoó  iAó  _Bð  ^Cð  Dô  EØ�M‰MÐFÔGØ×ÑÐ,Ð.?Õ@r/   c                 ó>  — t        j                  «       D ]†  \  }}| j                  |t        «       t	        t
        |«      }t        t        |   «      }| j                  |j                  |«      «       |D ]$  }t	        ||d«      }|�Œ| j                  ||«       Œ& Œˆ y)z¢Validate the table of builtin methods that are not safe for compile time evaluation
        against the table of known builtin methods (and their types).
        N)r   r   ÚassertIsInstancerC   r   r   rO   r   ÚassertFalseÚ
differenceÚassertIn)r$   Úbuiltin_type_nameÚunsafe_methodsr+   Úknown_methodsr)   Úbuiltin_methods          r-   Ú test_unsafe_compile_time_methodsz9TestBuiltinCompatibility.test_unsafe_compile_time_methods@   sš   € ô 2M×1RÑ1RÖ1TÑ-Ð˜~Ø×!Ñ! .´#Ô6ä"¤8Ð->Ó?ˆLä"Ü,Ð->Ñ?óAˆMð ×Ñ˜^×6Ñ6°}ÓEÔFã,�Ü!(¨°{ÀDÓ!I�Ø!Ñ)Ø—M‘M +¨~Ô>Øñ	  -ñ 2Ur/   N)r0   r1   r2   rU   r_   r3   r/   r-   r5   r5   )   s   „ òAó,r/   r5   )r   rJ   rF   r   ÚunittestÚBuiltinr   r   r   r   r   ÚCoder	   r
   ÚTestCaser   r5   r3   r/   r-   Ú<module>rd      sI   ðÛ Û Û Û 
Û ÷õ ÷ôg˜X×.Ñ.ô gô0)˜x×0Ñ0õ )r/   