
    |hz                         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                          yy)	z Tests for the completion module.    )
completion)test_components)	testutilsc                   x    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y)TabCompletionTestc                     dgdgddgg}t        j                  d|      }| j                  d|       | j                  d|       dD ]  }| j                  | d|        y )Nrunhalt--nowcommandnamecommands)r   r
   ))r   _BashScriptassertIn)selfr   scriptlast_commands       S/var/www/html/test/engine/venv/lib/python3.12/site-packages/fire/completion_test.pytestCompletionBashScriptz*TabCompletionTest.testCompletionBashScript   sq     
		H
 ##XFFMM)V$MM&&!+ 0
mm|nA&/0    c                     dgdgddgg}t        j                  d|      }| j                  d|       | j                  d|       | j                  d|       y )Nr	   r
   r   r   r   z-l now)r   _FishScriptr   )r   r   r   s      r   testCompletionFishScriptz*TabCompletionTest.testCompletionFishScript'   s[     
		H
 ##XFFMM)V$MM&&!MM(F#r   c                     d }t        j                  |      }| j                  d|       | j                  d|       | j                  d|       y )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   sC     ((1KMM';'MM';'MM)[)r   c                     t        j                  g d      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       y )N)redgreenblue0123r   r$   r   assertNotInr   r%   s     r   testListCompletionsz%TabCompletionTest.testListCompletions=   sM    (()ABKMM#{#MM#{#MM#{#S+&r   c                 6   dddd}t        j                  |      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       y )	Nr)   yellowTr(   r*   _rainbowr(   r*   r6   Truer/   r   colorsr%   s      r   testDictCompletionsz%TabCompletionTest.testDictCompletionsD   s    F
 ((0KMM%%MM&+&Wk*X{+Z-V[)T;'r   c                 :   dddd}t        j                  |d      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d	|       | j                  d|       y )
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                  |      }| j                  d|       | j                  d|       y )Nlevel1level2level3level4r/   )r   deepdictr%   s      r   testDeepDictCompletionsz)TabCompletionTest.testDeepDictCompletionsb   sH    8h2%?@AH((2KMM(K(X{+r   c                     ddddi iiii}t        j                  d|      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       y )Nr?   r@   rA   rB   rC   r   Scriptr   r0   r   rC   r   s      r   testDeepDictScriptz$TabCompletionTest.testDeepDictScripth   sf    8h2%?@AHz84FMM(F#MM(F#MM(F#Xv&r   c                     t        j                  dt        j                        }| j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       y )Nidentityz--arg1z--arg2z--arg3z--arg4r   rG   tcrK   r   r   r   s     r   testFnScriptzTabCompletionTest.testFnScriptp   sP    z2;;7FMM(F#MM(F#MM(F#MM(F#r   c                     t        j                  dt        j                        }| j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       y )N tensumrK   z--alphaz--betar   rG   rM   MixedDefaultsr   rN   s     r   testClassScriptz!TabCompletionTest.testClassScriptw   s`    r2#3#34FMM% MM% MM*f%MM)V$MM(F#r   c                     ddddi iiii}t        j                  d|d      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       y )Nr?   r@   rA   rB   rC   fishshellrF   rH   s      r   testDeepDictFishScriptz(TabCompletionTest.testDeepDictFishScript   sh    8h2%?@AHz86BFMM(F#MM(F#MM(F#Xv&r   c                     t        j                  dt        j                  d      }| j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       y )NrK   rX   rY   arg1arg2arg3arg4rL   rN   s     r   testFnFishScriptz"TabCompletionTest.testFnFishScript   sR    z2;;fEFMM&&!MM&&!MM&&!MM&&!r   c                    t        j                  dt        j                  d      }| j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       | j	                  d|       y )	NrQ   rX   rY   rR   rS   rK   alphabetarT   rN   s     r   testClassFishScriptz%TabCompletionTest.testClassFishScript   sb    r2#3#36BFMM% MM% MM*f%MM'6"MM&&!r   c                    t        j                  dddd      }| j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d|       y )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                 b    d }t        j                   |             }| j                  |g        y )Nc               3   $   K   d} 	 |  | dz  } 
w)Nr      r   )xs    r   	generatorz=TabCompletionTest.testGeneratorCompletions.<locals>.generator   s!     
a	Q s   )r   r$   assertEqual)r   rq   r%   s      r   testGeneratorCompletionsz*TabCompletionTest.testGeneratorCompletions   s+    
 ((5K["%r   c                 n    t        j                  t        j                        }| j	                  |g        y r   )r   r$   rM   
NoDefaultsrr   r1   s     r   testClassCompletionsz&TabCompletionTest.testClassCompletions   s&    ((7K["%r   c                     t        j                  t        j                               }| j	                  d|       | j	                  d|       y )Ndoubletriple)r   r$   rM   ru   r   r1   s     r   testObjectCompletionsz'TabCompletionTest.testObjectCompletions   s4    ((9KMM(K(MM(K(r   c                     t        j                  t        j                         j                        }| j                  d|       | j                  d|       y )Nz--selfz--count)r   r$   rM   ru   rx   r0   r   r1   s     r   testMethodCompletionsz'TabCompletionTest.testMethodCompletions   s<    (()?)?@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$*'((,'$$'""*&&)
*r   r   __main__N)
__doc__firer   r   rM   r   BaseTestCaser   r}   mainr   r   r   <module>r      sC    '  & b*	.. b*J z).. r   