
    Yh                     T    S SK J r   SSKJr   " S S\ 5      rS rS r " S S	\5      rg
)    )greenlet   )TestCasec                   4    \ rS rSrSrS rS rS rS r\r	Sr
g)genlet   Nc                     Xl         X l        g N)argskwds)selfr   r   s      O/var/www/html/env/lib/python3.13/site-packages/greenlet/tests/test_generator.py__init__genlet.__init__   s    		    c                 X    U R                   u  nU" U R                  0 U R                  D6  g r
   )fnr   r   )r   r   s     r   run
genlet.run   s"    gg
DII##r   c                     U $ r
    )r   s    r   __iter__genlet.__iter__   s    r   c                 t    [         R                  " 5       U l        U R                  5       nU (       a  U$ [        er
   )r   
getcurrentparentswitchStopIteration)r   results     r   __next__genlet.__next__   s+    ))+Mr   )r   r   r   )__name__
__module____qualname____firstlineno__r   r   r   r   r    next__static_attributes__r   r   r   r   r      s"    F$ Dr   r   c                     [         R                  " 5       n[        U[        5      (       d1  Uc  [	        S5      eUR
                  n[        U[        5      (       d  M1  UR
                  R                  U 5        g )Nzyield outside a genlet)r   r   
isinstancer   RuntimeErrorr   r   )valuegs     r   Yieldr-      sX    AF##9788HH F## HHOOEr   c                 ,   ^   " U 4S jS[         5      nU$ )Nc                      > \ rS rSr Y 4rSrg)generator.<locals>.Generator(   r   N)r"   r#   r$   r%   r   r'   )funcs   r   	Generatorr0   (   s
    Wr   r3   )r   )r2   r3   s   ` r   	generatorr4   '   s    F r   c                       \ rS rSrS rSrg)GeneratorTests/   c                    ^ / mU4S jn[        U5      n[        S5       H#  nU" S5       H  nTR                  U5        M     M%     U R                  TS/ SQ-  5        g )Nc                 b   > [        U 5       H  nTR                  U5        [        U5        M!     g r
   )rangeappendr-   )niseens     r   r,   (GeneratorTests.test_generator.<locals>.g3   s#    1XAa r         )
r   r   r   r      rB   r@   r@      rC   )r4   r:   r;   assertEqual)r   r,   _jr>   s       @r   test_generatorGeneratorTests.test_generator0   sW    	 aLqAqTA   	q#AABr   r   N)r"   r#   r$   r%   rG   r'   r   r   r   r6   r6   /   s    Cr   r6   N)r    r   r   r-   r4   r6   r   r   r   <module>rJ      s/     X 0CX Cr   