Ë
    Ç[;j™  ã                   ó¢   — d dl mZ d dlmc mZ d dl­ d dl­ d dl­  G d„ de«      Z G d„ de«      Z	e
dk(  rd dlZ ej                  «        yy)	é    )Ú
CythonTestN)Ú*c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBufferParsingc                 óD   ‡ ‡— ‰ j                  ˆˆ fd„«      j                  S )Nc                  ó&   •— ‰j                  ‰ «      S ©N©Úfragment©ÚsÚselfs   €€úiG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Tests/TestBuffer.pyÚ<lambda>z)TestBufferParsing.parse.<locals>.<lambda>   s   ø€ ¨D¯M©M¸!Ô,<ó    )Úshould_not_failÚroot)r   r   s   ``r   ÚparsezTestBufferParsing.parse   s   ù€ Ø×#Ñ#Ô$<Ó=×BÑBÐBr   c                 óˆ   ‡ ‡— ‰ j                  ˆˆ fd„t        j                  «      }‰ j                  ||j                  «       y )Nc                  ó&   •— ‰j                  ‰ «      S r	   r
   r   s   €€r   r   z1TestBufferParsing.not_parseable.<locals>.<lambda>   s   ø€  T§]¡]°1Ô%5r   )Úshould_failÚErrorsÚCompileErrorÚassertEqualÚmessage_only)r   Úexpected_errorr   Úes   ` ` r   Únot_parseablezTestBufferParsing.not_parseable   s0   ù€ Ø×ÑÔ5¼×8KÑ8KÓLˆØ×Ñ˜¨¯©Õ8r   c                 óà   — | j                  d«      }|j                  d   j                  }| j                  t	        |t
        «      «       | j                  dt        |j                  «      «       y )Nz(cdef object[float, 4, ndim=2, foo=foo] xr   é   )	r   ÚstatsÚ	base_typeÚ
assertTrueÚ
isinstanceÚTemplatedTypeNoder   ÚlenÚpositional_args)r   ÚtÚbufnodes      r   Ú
test_basiczTestBufferParsing.test_basic   sS   € Ø�J‰JÐAÓBˆØ—'‘'˜!‘*×&Ñ&ˆØ�‰œ
 7Ô,=Ó>Ô?Ø×Ñ˜œC × 7Ñ 7Ó8Õ9r   c                 ó&   — | j                  d«       y )Nz$cdef object[short unsigned int, 3] x©r   ©r   s    r   Útest_type_poszTestBufferParsing.test_type_pos   s   € Ø�
‰
Ð9Õ:r   c                 ó&   — | j                  d«       y )Nz0cdef object[foo=foo, dtype=short unsigned int] xr,   r-   s    r   Útest_type_keywordz#TestBufferParsing.test_type_keyword    s   € Ø�
‰
ÐEÕFr   c                 ó(   — | j                  dd«       y )Nz%Non-keyword arg following keyword argzcdef object[foo=1, 2] x)r   r-   s    r   Útest_pos_after_keyz$TestBufferParsing.test_pos_after_key#   s   € Ø×ÑÐBØ4õ	6r   N)	Ú__name__Ú
__module__Ú__qualname__r   r   r*   r.   r0   r2   © r   r   r   r      s"   „ òCò9ò:ò;òGó6r   r   c                   ó8   — e Zd Zd„ Zd	d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)
ÚTestBufferOptionsc                 óH   — || _         | j                  | j                  «       y r	   )Úerrorr#   Úexpect_error)r   r:   s     r   Únonfatal_errorz TestBufferOptions.nonfatal_error.   s   € àˆŒ
Ø�‰˜×)Ñ)Õ*r   c                 ót  — |dk7  sJ ‚d|z  }|| _         | j                  |t        | «      t        | «      g¬«      j                  }|s´|j
                  d   j                  j
                  d   }t        |t        «      sJ ‚|j                  }| j                  t        |t        «      «       | j                  t        |j                  t        «      «       | j                  d|j                  j                  «       |S | j                  t!        |j
                  d   j                  j
                  «      dk(  «       y )NÚ zdef f():
  cdef object[%s] x©Úpipeliner   Úobject)r;   r   ÚNormalizeTreeÚ	PostParser   r!   Úbodyr$   ÚCVarDefNoder"   r#   r%   Úbase_type_nodeÚCSimpleBaseTypeNoder   Únamer&   )r   Úoptsr;   r   r   ÚvardefÚbuftypes          r   Ú
parse_optszTestBufferOptions.parse_opts3   sû   € Ø�rŠzÐˆzØ+¨dÑ2ˆØ(ˆÔØ�}‰}˜Q¬-¸Ó*=¼yÈ»Ð)Oˆ}ÓP×UÑUˆÙØ—Z‘Z ‘]×'Ñ'×-Ñ-¨aÑ0ˆFÜ˜f¤kÔ2Ð2Ð2Ø×&Ñ&ˆGØ�O‰OœJ wÔ0AÓBÔCØ�O‰OœJ w×'=Ñ'=Ô?RÓSÔTØ×Ñ˜X w×'=Ñ'=×'BÑ'BÔCØˆNà�O‰OœC §
¡
¨1¡× 2Ñ 2× 8Ñ 8Ó9¸QÑ>Õ?r   c                 óv   — | j                  |d¬«       | j                  || j                  j                  «       y )NT)r;   )rL   r   r:   r   )r   Úexpected_errrI   s      r   Ú	non_parsezTestBufferOptions.non_parseC   s,   € Ø�‰˜¨4ˆÔ0à×Ñ˜ t§z¡z×'>Ñ'>Õ?r   c                 ó6  — | j                  d«      }| j                  t        |j                  t        «      «       | j                  |j                  j
                  dk(  xr |j                  j                  dk(  «       | j                  d|j                  «       y )Nzunsigned short int, 3r   éÿÿÿÿé   ©	rL   r#   r$   Ú
dtype_noderG   ÚsignedÚlongnessr   Úndim©r   Úbufs     r   Ú__test_basiczTestBufferOptions.__test_basicH   sm   € Ø�o‰oÐ5Ó6ˆØ�‰œ
 3§>¡>Ô3FÓGÔHØ�‰˜Ÿ™×-Ñ-°Ñ2ÒT°s·~±~×7NÑ7NÐRTÑ7TÔUØ×Ñ˜˜CŸH™HÕ%r   c                 ó6  — | j                  d«      }| j                  t        |j                  t        «      «       | j                  |j                  j
                  dk(  xr |j                  j                  dk(  «       | j                  d|j                  «       y )Nz ndim=3, dtype=unsigned short intr   rQ   rR   rS   rX   s     r   Ú__test_dictzTestBufferOptions.__test_dictN   sm   € Ø�o‰oÐ@ÓAˆØ�‰œ
 3§>¡>Ô3FÓGÔHØ�‰˜Ÿ™×-Ñ-°Ñ2ÒT°s·~±~×7NÑ7NÐRTÑ7TÔUØ×Ñ˜˜CŸH™HÕ%r   c                 ó~   — | j                  d«       | j                  t        d«       | j                  t        d«       y )Nzint, 2zint, 'a'zint, -34)rL   rO   ÚERR_BUF_NDIMr-   s    r   Ú__test_ndimzTestBufferOptions.__test_ndimT   s*   € Ø�‰˜Ô!Ø�‰”| ZÔ0Ø�‰”| ZÕ0r   c                 óX  — | j                  dt        | «      t        | «      g¬«      j                  }|j                  d   j
                  j                  }| j                  |d   j                  j                  dk(  «       | j                  |d   j                  j                  dk(  «       y )Nz„
        DEF ndim = 3
        def f():
            cdef object[int, ndim] x
            cdef object[ndim=ndim, dtype=int] y
        r?   r   rR   é   )	r   rB   rC   r   r!   rD   r#   r"   rW   )r   r(   r!   s      r   Ú__test_use_DEFz TestBufferOptions.__test_use_DEFY   s“   € Ø�M‰Mð ô
 % TÓ*¬I°d«OÐ<ð ó >÷
 ?C¹dð 	
ð —‘˜‘
—‘×%Ñ%ˆØ�‰˜˜a™×*Ñ*×/Ñ/°1Ñ4Ô5Ø�‰˜˜a™×*Ñ*×/Ñ/°1Ñ4Õ5r   N)F)
r3   r4   r5   r<   rL   rO   Ú_TestBufferOptions__test_basicÚ_TestBufferOptions__test_dictÚ_TestBufferOptions__test_ndimÚ _TestBufferOptions__test_use_DEFr6   r   r   r8   r8   +   s'   „ ò+ó
@ò @ò
&ò&ò1ó
	6r   r8   Ú__main__)ÚCython.TestUtilsr   ÚCython.Compiler.ErrorsÚCompilerr   ÚCython.Compiler.NodesÚ#Cython.Compiler.ParseTreeTransformsÚCython.Compiler.Bufferr   r8   r3   ÚunittestÚmainr6   r   r   Ú<module>rp      sN   ðÝ 'ß 'Ð 'Ü #Ü 1Ü $ô6˜
ô 6ôF76˜
ô 76ðx ˆzÒÛØ€H‡M�M…Oð r   