+
    rh%                         R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt  ! R R]P                  4      t
]R8X  d   ]P                  ! 4        R	# R	# )
zTests for the core module.)mock)core)test_components)	testutils)tracec                   v  a  ] tR t^t o R tR t]P                  ! R4      R 4       t]P                  ! R4      R 4       t	]P                  ! R4      R 4       t
]P                  ! R4      R 4       tR tR	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR t R t!R t"Rt#V t$R # )!CoreTestc                :   V P                  \        P                  ! ^4      R4       V P                  \        P                  ! R4      R4       V P                  \        P                  ! / 4      R4       V P                  \        P                  ! RR/4      R4       R# )   1hello{}xyz
{"x": "y"}N)assertEqualr   _OneLineResultselfs   &0/usr/lib/python3/dist-packages/fire/core_test.pytestOneLineResultCoreTest.testOneLineResult   sr    T((+S1T((17;T((,d3T((#s4lC    c                    \         P                  ! 4       pV P                  \        P                  ! VP                  4       4      R 4       R# )z{'y': {...}}N)tcCircularReferencer   r   r   create)r   circular_references   & r   testOneLineResultCircularRef%CoreTest.testOneLineResultCircularRef!   s9    --/T(();)B)B)DE#%r   zfire.interact.Embedc                   \         P                  ! \        P                  R .R7       V P	                  VP
                  4       \         P                  ! \        P                  . ROR7       V P                  VP
                  4       R# )alphacommandN)r    ---i)r   Firer   TypedPropertiesassertFalsecalled
assertTruer   
mock_embeds   &&r   testInteractiveModeCoreTest.testInteractiveMode&   sS    IIb  7)4Z&&'IIb  *?@OOJ%%&r   c                    \         P                  ! \        P                  . ROR7       V P	                  VP
                  4       R# )r    r!   N)r    r#   z--interactive)r   r%   r   r&   r)   r(   r*   s   &&r   testInteractiveModeFullArgument(CoreTest.testInteractiveModeFullArgument-   s)    IIb  *JKOOJ%%&r   c                   \         P                  ! \        P                  . ROR7       V P	                  VP
                  4       VP                  w  w  r#pV P                  V4       V P                  VR,          ^4       V P                  VR,          \        P                  4       V P                  VR,          \        P                  4       R# )doubler!   resultr   r   N)r2   2r#   r$   )r   r%   r   WithDefaultsr)   r(   	call_argsr'   r   assertIsInstancer   	FireTracer   r+   	variablesverboseunused_kwargss   &&   r   testInteractiveModeVariables%CoreTest.testInteractiveModeVariables2   s    IIboo'BCOOJ%%&*4*>*>'Y-WYx(!,)F+R__=)G,eoo>r   c                   \         P                  ! \        P                  . RORR7       V P	                  VP
                  4       VP                  w  w  r#pV P	                  V4       V P                  VR,          ^4       V P                  VR,          \        P                  4       V P                  VR,          \        P                  4       V P                  VR,          \        P                  4       R# )r2   D)r"   namer3   r   r   N)r2   r4   r#   r$   z-v)r   r%   r   r5   r)   r(   r6   r   r7   r   r8   r9   s   &&   r   $testInteractiveModeVariablesWithName-CoreTest.testInteractiveModeVariablesWithName<   s    IIboo7cCOOJ%%&*4*>*>'Y-OOGYx(!,)F+R__=Ys^R__5)G,eoo>r   c                8   V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lo; i  + '       g   i     R# ; i)    zSYNOPSIS.*ARG1r#   --helpr!   NzINFO:.*SYNOPSIS.*ARG1-h)assertRaisesFireExitr   r%   r   InstanceVarsr   s   &r   testHelpWithClassCoreTest.testHelpWithClassI   s    		"	"1&6	7	7
ii$)9: 
8		"	"1&=	>	>
ii(4 
?		"	"1&=	>	>
ii$0 
?	>	 
8	7	>	>	>	>	>s#   )C"&(C50(D"C2	5D	D	c                   V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  . ROR7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  R	R.R7       RRR4       V P                  ^ R
4      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       R#   + '       g   i     EL?; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)rE   zSYNOPSIS.*capitalizegammarF   r!   NzINFO:.*SYNOPSIS.*capitalizerG   zINFO:.*SYNOPSIS.*deltadeltazINFO:.*SYNOPSIS.*echoecho)rM   r#   rF   )rH   r   r%   r   r&   r   s   &r   testHelpWithMemberCoreTest.testHelpWithMemberQ   s+   		"	"1&<	=	=
ii"",EF 
>		"	"1&C	D	D
ii""Wh,?@ 
E		"	"1&C	D	D
ii""WdO< 
E		"	"1&>	?	?
ii""Wh,?@ 
@		"	"1&=	>	>
ii""VX,>? 
?	> 
>	=	=	D	D	D	D	D	?	?	>	>	>s;   )E:&)F1)F"<)F5)G:F	F	"F2	5G	G	c                ~   V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  ^ R4      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)rE   zSYNOPSIS.*VALUEr#   rF   r!   NzINFO:.*SYNOPSIS.*VALUE)rH   r   r%   r   ErrorInConstructorr   s   &r   testHelpOnErrorInConstructor%CoreTest.testHelpOnErrorInConstructor]   sz    		"	"1&7	8	8
ii%%h/?@ 
9		"	"1&>	?	?
ii%%z: 
@	? 
9	8	?	?	?s   )B&(B+B(	+B<	c                   V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  RRR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  R	RR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       V P                  RRR7      ;_uu_ 4        \        P                  ! \        P
                  R.R7       RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)
zDESCRIPTION.*NstdoutstderrrF   Falser!   zhelp in a dict
dictionary__helpr   )assertOutputMatchesr   r%   r   WithHelpArgfunction_with_helpr   s   &r   testHelpWithNamespaceCollision'CoreTest.testHelpWithNamespaceCollisionc   s    		!	!	!	F	F
ii7(;< 
G		!	!)9$	!	G	G
iix(@A 
H		!	!d	!	;	;
iix(@A 
<		!	!	!	>	>
ii%%y9 
?	> 
G	F	G	G	;	;	>	>	>s/   )D2()E4)E (E+2E	E	E(	+E<	c                    V P                  ^R4      ;_uu_ 4        \        P                  ! \        P                  . ROR7       RRR4       R#   + '       g   i     R# ; i)   runmisspelledr!   N)propsz--a=1z--b=2rd   )rH   r   r%   r   Kwargsr   s   &r   "testInvalidParameterRaisesFireExit+CoreTest.testInvalidParameterRaisesFireExitn   s7    		"	"1o	6	6
ii		#OP 
7	6	6	6s   )AA	c                    V P                  \        4      ;_uu_ 4        \        P                  ! \        P
                  R .R7       RRR4       R#   + '       g   i     R# ; i)failr!   N)assertRaises
ValueErrorr   r%   r   ErrorRaiserr   s   &r   testErrorRaisingCoreTest.testErrorRaisingr   s8     
		:	&	&
ii1 
'	&	&	&s   (AA!	c                T    \         P                  ! R 4      pV P                  V4       R# )Example errorNr   	FireErrorassertIsNotNoner   errors   & r   testFireErrorCoreTest.testFireErrorx   s    NN?+Er   c                V    \         P                  ! R R4      pV P                  V4       R# )rq   valueNrr   ru   s   & r   testFireErrorMultipleValues$CoreTest.testFireErrorMultipleValues|   s     NN?G4Er   c                   V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       R#   + '       g   i     L]; i  + '       g   i     R# ; i)r   NrW   totally_emptyr!   nothing_printable)r]   r   r%   r   EmptyDictOutputr   s   &r   testPrintEmptyDictCoreTest.testPrintEmptyDict   s}    		!	!d	!	;	;
ii""_,=> 
<		!	!d	!	;	;
ii""-@,AB 
<	; 
<	;	;	;	;s   (B'(B,B)	,B=	c                ~   V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       V P                  RR7      ;_uu_ 4        \        P                  ! \        P                  R.R7       RRR4       R#   + '       g   i     L\; i  + '       g   i     R# ; i)zA:\s+A\s+2:\s+2\s+NrW   	non_emptyr!   r   )rX   empty)r]   r   r%   r   OrderedDictionaryr   s   &r   testPrintOrderedDictCoreTest.testPrintOrderedDict   s{    		!	!)>t	!	L	L
ii$${m< 
M		!	!	!	.	.
ii$$wi8 
/	. 
M	L	.	.	.s   (B&(B+B(	+B<	c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       R#   + '       g   i     R# ; i)11NrW   pointr   r!   r]   r   r%   r   
NamedTupler   s   &r   testPrintNamedTupleField!CoreTest.testPrintNamedTupleField   =    		!	!d	!	;	;
ii~6 
<	;	;	;   )AA 	c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  RR .R7       RRR4       R#   + '       g   i     R# ; i)r   NrW   matching_namesr!   r   r   s   &r   'testPrintNamedTupleFieldNameEqualsValue0CoreTest.testPrintNamedTupleFieldNameEqualsValue   s?    		!	!T	!	:	:
ii(8#'>? 
;	:	:	:r   c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       R#   + '       g   i     R# ; i)22NrW   r   r   r!   r   r   s   &r   testPrintNamedTupleIndex!CoreTest.testPrintNamedTupleIndex   r   r   c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  ! 4       . R7       RRR4       R#   + '       g   i     R# ; iz	.*three.*NrW   r!   )r]   r   r%   r   
simple_setr   s   &r   testPrintSetCoreTest.testPrintSet   s<    		!	!T	!	B	B
ii, 
C	B	B	B   ,AA#	c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  ! 4       . R7       RRR4       R#   + '       g   i     R# ; ir   )r]   r   r%   r   simple_frozensetr   s   &r   testPrintFrozenSetCoreTest.testPrintFrozenSet   s?    		!	!T	!	B	B
ii##%r2 
C	B	B	Br   c                    V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  RR.R7       RRR4       R#   + '       g   i     R# ; i)r   NrW   r   z-2r!   r   r   s   &r    testPrintNamedTupleNegativeIndex)CoreTest.testPrintNamedTupleNegativeIndex   s=    		!	!d	!	;	;
ii7 
<	;	;	;r   c                Z   V P                  R RR7      ;_uu_ 4        \        P                  ! \        P                  ! 4       R.R7       RRR4       V P                  RRR7      ;_uu_ 4        \        P                  ! \        P                  ! 4       RR.R7       RRR4       V P                  RRR7      ;_uu_ 4        \        P                  ! \        P                  ! 4       . R7       RRR4       R#   + '       g   i     L; i  + '       g   i     Lt; i  + '       g   i     R# ; i)	zfoo:\s+foo\s+NrW   z	--foo=foor!   zfoo\s+	print_msgfoo )r]   r   r%   r   CallableWithKeywordArgumentr   s   &r   testCallableCoreTest.testCallable   s    		!	!)9$	!	G	G
ii..0;-H 
H		!	!4	!	@	@
ii..0;:NO 
A		!	!T	!	:	:
ii..0"= 
;	:	 
H	G	@	@	:	:	:s#   -C3,.D=,D3D	D	D*	c                    V P                  ^R4      ;_uu_ 4        \        P                  ! \        P                  ! 4       RR.R7       RRR4       R#   + '       g   i     R# ; i)rc   r   34r!   N)rH   r   r%   r   CallableWithPositionalArgsr   s   &r   testCallableWithPositionalArgs'CoreTest.testCallableWithPositionalArgs   sA    		"	"1b	)	) ii--/#sD 
*	)	)	)s   .AA$	c                v    V P                  \        P                  ! \        P                  R R.R7      R4       R# )	static_fnr    r!   Nr   r   r%   r   HasStaticAndClassMethodsr   s   &r   testStaticMethodCoreTest.testStaticMethod   s/    		"--&0	2r   c                v    V P                  \        P                  ! \        P                  R R.R7      ^4       R# )class_fn6r!   Nr   r   s   &r   testClassMethodCoreTest.testClassMethod   s/    		"--%s+	-	r   c                X   R  pR pV P                  RRR7      ;_uu_ 4        \        P                  ! VR.VR7      pRRR4       V P                  RRR7      ;_uu_ 4        \        P                  ! VR.VR7      pRRR4       V P                  R	RR7      ;_uu_ 4        \        P                  ! VR	.VR7      pRRR4       V P                  R
RR7      ;_uu_ 4        \        P                  ! VR.VR7      pRRR4       V P                  \        P                  4      ;_uu_ 4        \        P                  ! VR	.^7R7       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)c                    \        V \        4      '       d   R P                  R V  4       4      # \        V \        4      '       d0   R P                  R \	        V P                  4       4       4       4      # V R8X  d   RR.# V # )z, c              3   8   "   T F  p\        V4      x  K  	  R # 5iN)str).0xis   & r   	<genexpr>BCoreTest.testCustomSerialize.<locals>.serialize.<locals>.<genexpr>   s     -1RR1s   c              3   H   "   T F  w  rR P                  W4      x  K  	  R# 5i)z{}={!r}N)format)r   kvs   &  r   r   r      s"     N<MDA))!//<Ms    "specialz
SURPRISE!!zI'm a list!)
isinstancelistjoindictsorteditemsr   s   &r   	serialize/CoreTest.testCustomSerialize.<locals>.serialize   sh    	At		yy-1---	At		yyNF1779<MNNN	
im,,hr   c                     V # r    r   s   &r   <lambda>.CoreTest.testCustomSerialize.<locals>.<lambda>   s    ar   za, bNrW   z[a,b])r"   r   za=5, b=6z	{a:5,b:6}asdfzSURPRISE!!
I'm a list!
r   )r]   r   r%   rk   rs   )r   r   ident_s   &   r   testCustomSerializeCoreTest.testCustomSerialize   s4    E		!	!	!	=	=
))EG9	
Ba 
>		!	!D	!	A	A
))EK=I
Fa 
B		!	!	!	=	=
))EF8y
Aa 
>		!	!*4 
" 
9 
9
))EI;)
Da
9 
		4>>	*	*
iix26 
+	* 
>	=	=	A	A	=	=
9 
9 
+	*	*s;   E EE2F&FE	E/	2F	F	F)	c                    V P                  \        P                  ! \        P                  P
                  R R.R7      R4       R# )lru_cache_in_classr   r!   N)r   r   r%   r   py3LruCacheDecoratedMethodr   s   &r   testLruCacheDecoratorBoundArg&CoreTest.testLruCacheDecoratorBoundArg   s4    		"&&00/7	9:?Ar   c                    V P                  \        P                  ! \        P                  P
                  R .R7      R 4       R# )r   r!   N)r   r   r%   r   r   lru_cache_decoratedr   s   &r   testLruCacheDecoratorCoreTest.testLruCacheDecorator   s0    		"&&,, '	#$)+r   r   N)%__name__
__module____qualname____firstlineno__r   r   r   patchr,   r/   r=   rB   rJ   rP   rT   r`   rg   rn   rw   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s    D%
 ::#$' %' ::#$' %' ::#$? %? ::#$	? %	?1
@;	:Q2  C97@7-38>E70A
+ +r   r   __main__N)__doc__unittestr   firer   r   r   r   r   BaseTestCaser   r   mainr   r   r   <module>r      sG    !   &  G+y%% G+T z.. r   