
    Aes                         d Z ddlmZ ddlmZ ddlmZ ddlmZ g dZ	g d	Z
 G d
 de      Zedk(  rddlZ ej                          yy)z+
Uses TreeFragment to test invalid syntax.
    )absolute_import   )
CythonTest   )CompileError)	ExprNodes)0_0_04_21_0000_00000b1001_01000xffff_ffff0o5_7_7z	1_00_00.5z
1_00_00.5jz1_00_00.5e51_00_00j1_00_00e5_11e1_0z.1_4z.1_4e1z.1_4j)&0_42_z1.4j_0b1_0xf_0o5_0_b00_xf0_o50b_00x_f0o_5z0 if 1_Else 1z1_.4z1_.4jz1._4z1._4jz._5z1.0e+_1	4_______2z0.1__40b1001__01000xffff__ffff0o5__771e1__0z1.4_jz1.4e5_j1_e1z1.4_e11e_1z1.4e_1z1_ 2z1 _2z1_2.2_ 1z1_2.2 _1z1_2e _1z1_2e2 _1z1_2e 2_1c                       e Zd Zd Zd Zy)TestGrammarc           	      :   t         D ]/  }dD ](  }d||z  z   }	 | j                  d|z          J d|z          1 y # t        $ rW}|t        |      j	                         D cg c]  }|j                          nc c}w c}v sJ t        |             Y d }~d }~ww xY w)Nz%sz1 + %sz%s + 1z2 * %sz%s * 2x = C                    # cython: language_level=3
                    z5Invalid Cython code '%s' failed to raise an exception)INVALID_UNDERSCORE_LITERALSfragmentr   str
splitlinesstrip)selfliteral
expressioncodeexcss         Alib/python3.12/site-packages/Cython/Compiler/Tests/TestGrammar.pytest_invalid_number_literalsz(TestGrammar.test_invalid_number_literals]   s    2 
	aGL 	a

W 44aMM ##   a"Y\`"``	a
	a $ Xs3x7J7J7L#M!AGGI#M#MMWsSVxWMXs!   :	BBA76BBc                    t         D ]  }t        g d      D ]  \  }}d||z  z   }| j                  d|z         j                  }|J |j                  d   j
                  }|dkD  r|dz  r|j                  n|j                  }d|v sd|v rt        |t        j                        rJ d|v sd	|v sd
|v r%d|v s!d|v st        |t        j                        rJ t        |t        j                        rJ   y )Nr'   r(   r)   r   r   jJ.eE0x0X)VALID_UNDERSCORE_LITERALS	enumerater+   rootstatsrhsoperand2operand1
isinstancer   ImagNode	FloatNodeIntNode)r/   r0   ir1   r2   nodeliteral_nodes          r5   test_valid_number_literalsz&TestGrammar.test_valid_number_literalsj   s	   0 	GG!*+Y!Z G:
W 44}} &&   $  ''#zz!}00q5<=E<#8#8|G\G\L'>SG^%lI4F4FGGG^sg~QUY`Q`dhlsds%lI4G4GHH%lI4E4EFF!G	G    N)__name__
__module____qualname__r6   rM    rN   r5   r%   r%   [   s    aGrN   r%   __main__N)__doc__
__future__r   	TestUtilsr   Errorsr    r   r?   r*   r%   rO   unittestmainrR   rN   r5   <module>r[      sU    ' # !  &6 r!G* !GH zHMMO rN   