
    `jz                         d Z ddlmZ ddlmZ ddlmZ  G d dej                  Zedk    r ej	                     dS dS )	z Tests for the completion module.    )
completion)test_components)	testutilsc                   z    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd ZdS )TabCompletionTestc                     dgdgddgg}t          j        d|          }|                     d|           |                     d|           dD ]}|                     | d|           d S )Nrunhalt--nowcommandnamecommands)r   r
   ))r   _BashScriptassertIn)selfr   scriptlast_commands       X/home/jworkman/hermes-web-chat/venv/lib/python3.11/site-packages/fire/completion_test.pytestCompletionBashScriptz*TabCompletionTest.testCompletionBashScript   s     
		H
 #XFFFFMM)V$$$MM&&!!!+ 0 0
mm|&&&////0 0    c                     dgdgddgg}t          j        d|          }|                     d|           |                     d|           |                     d|           d S )Nr	   r
   r   r   r   z-l now)r   _FishScriptr   )r   r   r   s      r   testCompletionFishScriptz*TabCompletionTest.testCompletionFishScript'   sv     
		H
 #XFFFFMM)V$$$MM&&!!!MM(F#####r   c                     d }t          j        |          }|                     d|           |                     d|           |                     d|           d S )Nc                     | ||fS N )onetwothrees      r   examplez4TabCompletionTest.testFnCompletions.<locals>.example5   s    #u_r   z--onez--twoz--three)r   Completionsr   )r   r#   completionss      r   testFnCompletionsz#TabCompletionTest.testFnCompletions4   se       (11KMM';'''MM';'''MM)[)))))r   c                     t          j        g d          }|                     d|           |                     d|           |                     d|           |                     d|           d S )N)redgreenblue0123r   r$   r   assertNotInr   r%   s     r   testListCompletionsz%TabCompletionTest.testListCompletions=   sq    ()A)A)ABBKMM#{###MM#{###MM#{###S+&&&&&r   c                 n   dddd}t          j        |          }|                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           d S )	Nr)   yellowTr(   r*   _rainbowr(   r*   r6   Truer/   r   colorsr%   s      r   testDictCompletionsz%TabCompletionTest.testDictCompletionsD   s     F
 (00KMM%%%%MM&+&&&Wk***X{+++Z---V[)))T;'''''r   c                 r   dddd}t          j        |d          }|                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d	|           |                     d|           d S )
Nr)   r4   Tr5   )verboser(   r*   r6   r7   r/   r8   s      r   testDictCompletionsVerbosez,TabCompletionTest.testDictCompletionsVerboseS   s     F
 (>>>KMM%%%%MM&+&&&Wk***X{+++MM*k***V[)))T;'''''r   c                     ddddi iiii}t          j        |          }|                     d|           |                     d|           d S )Nlevel1level2level3level4r/   )r   deepdictr%   s      r   testDeepDictCompletionsz)TabCompletionTest.testDeepDictCompletionsb   sZ    8h2%?@AH(22KMM(K(((X{+++++r   c                     ddddi iiii}t          j        d|          }|                     d|           |                     d|           |                     d|           |                     d|           d S )Nr?   r@   rA   rB   rC   r   Scriptr   r0   r   rC   r   s      r   testDeepDictScriptz$TabCompletionTest.testDeepDictScripth   s    8h2%?@AHz844FMM(F###MM(F###MM(F###Xv&&&&&r   c                     t          j        dt          j                  }|                     d|           |                     d|           |                     d|           |                     d|           d S )Nidentityz--arg1z--arg2z--arg3z--arg4r   rG   tcrK   r   r   r   s     r   testFnScriptzTabCompletionTest.testFnScriptp   sl    z2;77FMM(F###MM(F###MM(F###MM(F#####r   c                     t          j        dt          j                  }|                     d|           |                     d|           |                     d|           |                     d|           |                     d|           d S )N tensumrK   z--alphaz--betar   rG   rM   MixedDefaultsr   rN   s     r   testClassScriptz!TabCompletionTest.testClassScriptw   s    r2#344FMM%   MM%   MM*f%%%MM)V$$$MM(F#####r   c                     ddddi iiii}t          j        d|d          }|                     d|           |                     d|           |                     d|           |                     d|           d S )Nr?   r@   rA   rB   rC   fishshellrF   rH   s      r   testDeepDictFishScriptz(TabCompletionTest.testDeepDictFishScript   s    8h2%?@AHz86BBBFMM(F###MM(F###MM(F###Xv&&&&&r   c                     t          j        dt          j        d          }|                     d|           |                     d|           |                     d|           |                     d|           d S )NrK   rX   rY   arg1arg2arg3arg4rL   rN   s     r   testFnFishScriptz"TabCompletionTest.testFnFishScript   sq    z2;fEEEFMM&&!!!MM&&!!!MM&&!!!MM&&!!!!!r   c                 $   t          j        dt          j        d          }|                     d|           |                     d|           |                     d|           |                     d|           |                     d|           d S )	NrQ   rX   rY   rR   rS   rK   alphabetarT   rN   s     r   testClassFishScriptz%TabCompletionTest.testClassFishScript   s    r2#36BBBFMM%   MM%   MM*f%%%MM'6"""MM&&!!!!!r   c                 >   t          j        dddd          }|                     d|           |                     d|           |                     d|           |                     d|           |                     d|           |                     d|           d S )Nr)   r4   pink)
   gQ	@)t1t210z3.14z('t1', 't2')r/   r1   s     r   testNonStringDictCompletionsz.TabCompletionTest.testNonStringDictCompletions   s    (* *  K
 	MM$$$$MM&+&&&MM.+...Wk***X{+++V[)))))r   c                 p    d }t          j         |                      }|                     |g            d S )Nc               3       K   d} 	 | V  | dz  } 
)Nr   T   r   )xs    r   	generatorz=TabCompletionTest.testGeneratorCompletions.<locals>.generator   s'      
a	Qr   )r   r$   assertEqual)r   rq   r%   s      r   testGeneratorCompletionsz*TabCompletionTest.testGeneratorCompletions   sE      
 (55K["%%%%%r   c                 n    t          j        t          j                  }|                     |g            d S r   )r   r$   rM   
NoDefaultsrr   r1   s     r   testClassCompletionsz&TabCompletionTest.testClassCompletions   s0    (77K["%%%%%r   c                     t          j        t          j                              }|                     d|           |                     d|           d S )Ndoubletriple)r   r$   rM   ru   r   r1   s     r   testObjectCompletionsz'TabCompletionTest.testObjectCompletions   sF    (99KMM(K(((MM(K(((((r   c                     t          j        t          j                    j                  }|                     d|           |                     d|           d S )Nz--selfz--count)r   r$   rM   ru   rx   r0   r   r1   s     r   testMethodCompletionsz'TabCompletionTest.testMethodCompletions   sK    ()?@@KX{+++MM)[)))))r   N)__name__
__module____qualname__r   r   r&   r2   r:   r=   rD   rI   rO   rV   r[   ra   re   rl   rs   rv   rz   r|   r   r   r   r   r      s"       0 0 0$ $ $* * *' ' '( ( (( ( (, , ,' ' '$ $ $$ $ $' ' '" " "" " "* * *& & && & &) ) )
* * * * *r   r   __main__N)
__doc__firer   r   rM   r   BaseTestCaser   r}   mainr   r   r   <module>r      s    ' &       & & & & & &      b* b* b* b* b*	. b* b* b*J z). r   