
    -Shs                         d Z ddlmZ ddlmZ ddlmZ ddlZddlZddlZddlm	Z	 ddl
mZ  G d d	ej                  Zd
 Zedk    r ej                     dS dS )zTests for augment.inline.    )absolute_import)division)print_functionN)inline)
test_utilsc                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	
InlineTestc                     d}t          j        |          }t          j        |d           |                     |t          j        d                     d S )Nzx = 1
a = x
xza = 1
astparser   inline_namecheckAstsEqualselfsrcts      _/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/pasta/augment/inline_test.pytest_inline_simplezInlineTest.test_inline_simple   sM    
C	#A
q#39Y//00000    c                     d}t          j        |          }t          j        |d           |                     |t          j        d                     d S )Nzx = y = z = 1
a = x + y
yzx = z = 1
a = x + 1
r   r   s      r   test_inline_multiple_targetsz'InlineTest.test_inline_multiple_targets%   sN    
&C	#A
q#39%=>>?????r   c                     t          j        d          }t          j        d          }t          j        |          }t	          j        |d           |                     |t          j        |                     d S )Nz[        CONSTANT = "foo"
        def a(b=CONSTANT):
          return b == CONSTANT
        z<        def a(b="foo"):
          return b == "foo"
        CONSTANT)textwrapdedentr   r   r   r   r   )r   r   expectedr   s       r   test_inline_multiple_readsz%InlineTest.test_inline_multiple_reads+   sx    
/   C
     H 		#A
q*%%%39X../////r   c                     t          j        d          }t          j        |          }|                     t
          j        d          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )NzG        NOT_A_CONSTANT = "foo"
        NOT_A_CONSTANT += "bar"
        z"'NOT_A_CONSTANT' is not a constantNOT_A_CONSTANT)r   r   r   r   assertRaisesRegexpr   InlineErrorr   r   s      r   test_inline_non_constant_failsz)InlineTest.test_inline_non_constant_fails9   s    
/   C 		#A		 	 !3!G
I 
I . .,---. . . . . . . . . . . . . . . . . .s   	A,,A03A0c                     d}t          j        |          }|                     t          j        dt           j        z            5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nzdef func(): pass
func()
z('func' is not a constant; it has type %rfunc)r   r   r#   r   r$   FunctionDefr   r   s      r   test_inline_function_failsz%InlineTest.test_inline_function_failsC   s    
&C	#A		 	 4sF
H 
H $ $ F###$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $s   A''A+.A+c                     d}t          j        |          }|                     t          j        d          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )Nzif define:
  x = 1
a = x
z'x' is not a top-level namer   r   r   r#   r   r$   r   r   s      r   test_inline_conditional_failsz(InlineTest.test_inline_conditional_failsL   s    
(C	#A		 	 !3!@
B 
B ! !C   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !   AA!Ac                     d}t          j        |          }|                     t          j        d          5  t          j        |d           d d d            d S # 1 swxY w Y   d S )NzCONSTANT1, CONSTANT2 = valuesz,'CONSTANT1' is not declared in an assignment	CONSTANT1r+   r   s      r   test_inline_non_assign_failsz'InlineTest.test_inline_non_assign_failsS   s    
)C	#A		 	 L
N 
N ) )K((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )r-   N)
__name__
__module____qualname__r   r   r    r%   r)   r,   r0    r   r   r	   r	      s        1 1 1@ @ @0 0 0. . .$ $ $! ! !) ) ) ) )r   r	   c                      t          j                    } |                     t          j        t                               | S )N)unittest	TestSuiteaddTests	makeSuiter	   )results    r   suiter;   [   s2    &//($Z00111	-r   __main__)__doc__
__future__r   r   r   r   r   r6   pasta.augmentr   
pasta.baser   TestCaser	   r;   r1   mainr4   r   r   <module>rC      s      ' & & & & &       % % % % % % 



               ! ! ! ! ! !;) ;) ;) ;) ;)$ ;) ;) ;)|  
 z(-///// r   