
    d-                        d dl Z d dlZd dlZd dlZd dlZ G d dej                  Z G d dej                  Z G d de	          Z
 G d d	ej        e
          Z G d
 dej        e
          Z G d dej        e
          Z G d dej        e
          Z G d dej        e
          Z G d dej                  Z G d de	          Z G d de	          Z G d de	          Z G d de	          ZdS )    Nc                        e Zd Zd Zd Zd ZdS )Test__parse_optionsc                 $    ddl m}  ||          S )Nr   )_parse_options)pkginfo.commandliner   )selfargsr   s      b/home/feoh/.local/pipx/venvs/poetry/lib/python3.11/site-packages/pkginfo/tests/test_commandline.py_callFUTzTest__parse_options._callFUT	   s$    666666~d###    c                 \   ddl m} |                                d         }t          j                    }t          t          |          5  |                     t          | j	        g            d d d            n# 1 swxY w Y   | 
                    ||                                v            d S )Nr   )__doc__)stderr)r   r   
splitlinesioStringIO_MonkeysysassertRaises
SystemExitr   
assertTruegetvalue)r   usage	firstlinebufs       r
   
test_emptyzTest__parse_options.test_empty   s    888888$$&&q)	kmmS%%% 	= 	=j$-<<<	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	= 	=	S\\^^344444s   
"A88A<?A<c                 f    |                      dg          \  }}|                     |dg           d S Nfoo)r   assertEqual)r   optionsr	   s      r
   test_nonemptyz!Test__parse_options.test_nonempty   s7    ug..w'''''r   N)__name__
__module____qualname__r   r   r"    r   r
   r   r      sA        $ $ $5 5 5( ( ( ( (r   r   c                   &    e Zd Zd Zd Zd Zd ZdS )	BaseTestsc                     ddl m} |S )Nr   )Base)r   r*   )r   r*   s     r
   _getTargetClasszBaseTests._getTargetClass       ,,,,,,r   c                 <     |                                  |          S Nr+   r   r!   s     r
   _makeOnezBaseTests._makeOne"       %t##%%g...r   c                     |                      t          d                    }|                     |j        d u            d S )Nr&   fields)r1   _Optionsr   _fields)r   bases     r
   test___init___defaultsz BaseTests.test___init___defaults%   s=    }}XR00011,-----r   c                     t                      }|                     t          |                    }|                     |j        |u            d S )Nr4   )objectr1   r6   r   r7   )r   r5   r8   s      r
   test___init___w_fieldsz BaseTests.test___init___w_fields)   sF    }}XV44455./////r   N)r#   r$   r%   r+   r1   r9   r<   r&   r   r
   r(   r(      sP          
/ / /. . .0 0 0 0 0r   r(   c                       e Zd Zd Zd ZdS )_FormatterBasec                     t          j                    }t          t          |          5   ||i | d d d            n# 1 swxY w Y   |                                S N)stdout)r   r   r   r   r   )r   funcr	   kwr   s        r
   _capture_outputz_FormatterBase._capture_output0   s    kmmS%%% 	 	D$"	 	 	 	 	 	 	 	 	 	 	 	 	 	 	||~~s   	?AAc                     t          t          t                                5   ||           d d d            d S # 1 swxY w Y   d S r@   )r   r   r;   r   simplemetas      r
   
_no_outputz_FormatterBase._no_output7   s    S*** 	 	F4LLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   <A A N)r#   r$   r%   rD   rI   r&   r   r
   r>   r>   .   s2              r   r>   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	SimpleTestsc                     ddl m} |S )Nr   )Simple)r   rM   )r   rM   s     r
   r+   zSimpleTests._getTargetClass=   s    ......r   c                 <     |                                  |          S r.   r/   r0   s     r
   r1   zSimpleTests._makeOneA   r2   r   c                     |                      t          d d                    }|                     |j                   d S )NTr5   skip)r1   r6   r   _skip)r   rG   s     r
   test___init___zSimpleTests.test___init___D   s:    xt$???@@%%%%%r   c                     |                      t          dd                    }t                      }|                     ||           d S )Nr&   FrP   r1   r6   _MetarI   rF   s      r
   test___call___w_empty_fieldsz(SimpleTests.test___call___w_empty_fieldsH   sC    xr>>>??ww%%%%%r   c                     |                      t          dd                    }t          d           }|                     ||           d S )Nr&   TrP   r   rU   rF   s      r
   -test___call___w_skip_and_value_None_no_fieldsz9SimpleTests.test___call___w_skip_and_value_None_no_fieldsM   sG    xr===>>%%%%%r   c                     |                      t          dd                    }t          dd          }|                     ||           d S )NrY   TrP   r&   Barr   barrU   rF   s      r
   :test___call___w_skip_and_value_empty_tuple_explicit_fieldszFSimpleTests.test___call___w_skip_and_value_empty_tuple_explicit_fieldsR   sL    xxdCCCDD'''%%%%%r   c                     |                      t          dd                    }t          d          }|                     ||          }|                     |d           d S )NrY   TrP   Fooz	foo: Foo
r1   r6   rV   rD   r    )r   rG   rH   outputs       r
   /test___call___w_skip_but_values_explicit_fieldsz;SimpleTests.test___call___w_skip_but_values_explicit_fieldsW   sa    xxdCCCDD%%fd33.....r   N)
r#   r$   r%   r+   r1   rS   rW   rZ   r_   rd   r&   r   r
   rK   rK   ;   s}          / / /& & && & &
& & &
& & &
/ / / / /r   rK   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )SingleLineTestsc                     ddl m} |S )Nr   )
SingleLine)r   rh   )r   rh   s     r
   r+   zSingleLineTests._getTargetClass_   s    222222r   c                 <     |                                  |          S r.   r/   r0   s     r
   r1   zSingleLineTests._makeOned   r2   r   c                     |                      t          d dd                    }|                     |j        d           |                     |j        d           d S )NISr5   
item_delimsequence_delim)r1   r6   r    _item_delim_sequence_delim)r   singles     r
   rS   zSingleLineTests.test___init___g   sa    DSEEEG G+S111/55555r   c                     |                      t          ddt                                          }t          dd          }|                     ||          }|                     |d           d S )Nr&   |rm   ra   r\   r]   zBar|Foo
)r1   r6   r;   rV   rD   r    r   rr   rH   rc   s       r
   test___call__wo_fields_wo_listz.SingleLineTests.test___call__wo_fields_wo_listm   sw    B3$*HH. . ./ / E***%%fd33-----r   c                     |                      t          ddd                    }t          dddgd	          }|                     ||          }|                     |d
           d S )Nr]   rt   *rm   ra   Bar1Bar2Bazr   r^   bazzFoo|Bar1*Bar2
rb   ru   s       r
   test___call__w_fields_w_listz,SingleLineTests.test___call__w_fields_w_listu   s{    Ns$') ) )* * VV$4%@@@%%fd33!233333r   Nr#   r$   r%   r+   r1   rS   rv   r~   r&   r   r
   rf   rf   ]   s_          
/ / /6 6 6. . .4 4 4 4 4r   rf   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )CSVTestsc                     ddl m} |S )Nr   )CSV)r   r   )r   r   s     r
   r+   zCSVTests._getTargetClass       ++++++
r   c                 <     |                                  |          S r.   r/   r0   s     r
   r1   zCSVTests._makeOne   r2   r   c                     |                      t          d d                    }|                     |j        d           d S )Nrl   r5   ro   )r1   r6   r    rq   )r   csvs     r
   rS   zCSVTests.test___init___   sD    mmD5557 7,c22222r   c                     t          dd          }|                     t          d t                                          }|                     ||          }|                     |d           d S )Nra   r\   r]   r   zbar,foo
Bar,Foo
)rV   r1   r6   r;   rD   r    r   rH   r   rc   s       r
   rv   z'CSVTests.test___call__wo_fields_wo_list   sv    E***mmD$*HH. . ./ / %%c400!9:::::r   c                     t          dddgd          }|                     t          ddd	                    }|                     ||          }|                     |d
           d S )Nra   ry   rz   r{   r|   r]   rt   rx   rm   zfoo,bar
Foo,Bar1*Bar2
)rV   r1   r6   rD   r    r   s       r
   r~   z%CSVTests.test___call__w_fields_w_list   s{    VV$4%@@@mmNs$') ) )* * %%c400!?@@@@@r   Nr   r&   r   r
   r   r   }   sd          
/ / /3 3 3
; ; ;A A A A Ar   r   c                   ,    e Zd Zd Zd Zd Zd Zd ZdS )INITestsc                     ddl m} |S )Nr   )INI)r   r   )r   r   s     r
   r+   zINITests._getTargetClass   r   r   c                 <     |                                  |          S r.   r/   r0   s     r
   r1   zINITests._makeOne   r2   r   c                     |                      t          d                    }t          ddd          }|j                            d           |                     t          ||           d S )NrY   r4   r   0.1ra   nameversionr   foo-0.1)r1   r6   rV   _parseradd_sectionr   
ValueError)r   inirH   s      r
   test___call___duplicatez INITests.test___call___duplicate   sf    mmHH55566%E:::	****c400000r   c                 R   |                      t          d                     }t          ddd          } ||           |j        }|                     |                                dg           |                     t          |                    d                    g d           |                     |                    dd          d           |                     |                    dd	          d           |                     |                    dd          d           d S )
Nr4   r   r   ra   r   r   )r   r   r   r   r   	r1   r6   rV   r   r    sectionssortedr!   getr   r   rH   cps       r
   test___call___wo_fields_wo_listz(INITests.test___call___wo_fields_wo_list   s   mmHD11122%E:::D			[444

9 5 566333	5 	5 	5	622E:::	955u===	511599999r   c                    |                      t          d                    }t          dddddgd	          } ||           |j        }|                     |                                d
g           |                     t          |                    d
                    ddg           |                     |                    d
d          d           |                     |                    d
d          d           d S )Nr]   r4   r   r   ra   ry   rz   r{   r   r   r   r^   r}   r   r^   z
Bar1
	Bar2r   r   s       r
   test___call___w_fields_w_listz&INITests.test___call___w_fields_w_list   s    mmHN;;;<<%VV$4%A A AD			[444

9 5 566GGG	5115999	511>BBBBBr   N)r#   r$   r%   r+   r1   r   r   r   r&   r   r
   r   r      sd          
/ / /1 1 1
: 
: 
:	C 	C 	C 	C 	Cr   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )		JSONtestsc                     ddl m} |S )Nr   )JSON)r   r   )r   r   s     r
   r+   zJSONtests._getTargetClass   r,   r   c                 <     |                                  |          S r.   r/   r0   s     r
   r1   zJSONtests._makeOne   r2   r   c                     |                      t          d                    }t          ddd          }d|j        d<   |                     t
          ||           d S )N)r   r4   r   r   ra   r   r   r1   r6   rV   _mappingr   r   r   jsonrH   s      r
   ,test___call___duplicate_with_meta_and_fieldsz6JSONtests.test___call___duplicate_with_meta_and_fields   s\    }}XY77788%E::: %f*dD11111r   c                     |                      t          d                     }t          ddd          }d|j        d<   |                     t
          ||           d S )Nr4   r   r   ra   r   r   r   r   s      r
   +test___call___duplicate_with_meta_wo_fieldsz5JSONtests.test___call___duplicate_with_meta_wo_fields   s\    }}XT22233%E::: %f*dD11111r   c                     |                      t          d                     }t          ddd          } ||           t          j        g d          }|                     ||j                   d S )Nr4   r   r   ra   r   r   ra   )r   r   )r   r   r1   r6   rV   collectionsOrderedDictr    r   r   r   rH   expecteds       r
   r   z)JSONtests.test___call___wo_fields_wo_list   s    }}XT22233%E:::T


* ,A ,A ,A B B4=11111r   c                     |                      t          d                    }t          dddddgd	          } ||           t          j        d
dddgfg          }|                     ||j                   d S )Nr]   r4   r   r   ra   ry   rz   r{   r   r   r^   r   r   s       r
   r   z'JSONtests.test___call___w_fields_w_list   s    }}X^<<<==%VV$4%A A AT


*UVV$45,7 8 84=11111r   c                 R   |                      t          d                     }t          ddd          } ||           |                     |j                  }t          j        |t          j                  }t          j        g d          }| 	                    ||           d S )Nr4   r   r   ra   r   )object_pairs_hookr   )
r1   r6   rV   rD   finishjson_moduleloadsr   r   r    )r   r   rH   rc   r   s        r
   test___call___outputzJSONtests.test___call___output   s    }}XT22233%E:::T


%%dk22"k&=? ? ?* ,A ,A ,A B B6*****r   N)
r#   r$   r%   r+   r1   r   r   r   r   r   r&   r   r
   r   r      s}          
/ / /2 2 22 2 22 2 22 2 2	+ 	+ 	+ 	+ 	+r   r   c                   (    e Zd ZddZd Zd Zd ZdS )	Test_mainrG   c                     ddl m} ddl m} ||         }t                      fd||<   	  ||           |||<   n
# |||<   w xY wS )Nr   )main)_FORMATTERSc                      S r.   r&   )r!   dummys    r
   <lambda>z$Test_main._callFUT.<locals>.<lambda>   s    u r   )r   r   r   
_Formatter)r   r	   monkeyr   r   beforer   s         @r
   r   zTest_main._callFUT   s    ,,,,,,333333V$4444F	)DJJJ"(K&K((((s	   > Ac                     ddl m}  fd}t          ||          5                       dg          }d d d            n# 1 swxY w Y                        |j        g                                 |j                   d S )Nr   commandlinec                 `                         | d                                |d            d S r   r    )path_or_module
md_versionr   s     r
   _get_metadataz3Test_main.test_w_mising_dist.<locals>._get_metadata  s4    ^U333Z...4r   get_metadatar   )pkginfor   r   r   r    _called_withr   	_finished)r   MUTr   	formatters   `   r
   test_w_mising_distzTest_main.test_w_mising_dist  s    ......	 	 	 	 	 S}555 	/ 	/ug..I	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	/ 	//444	+,,,,,s   AAAc                 d    ddl m} t          d            fd}t          ||          5                       g d          }d d d            n# 1 swxY w Y                        |j        g                                |j                                        j	        d           d S )Nr   r   download_urlc                 `                         | d                                |d            S N/path/to/foor   r   r   rH   r   s     r
   r   z<Test_main.test_w_dist_wo_download_url.<locals>._get_metadata  4    ^^<<<Z...Kr   r   z-dzhttp://example.comr   zhttp://example.com/foo
r   r   rV   r   r   r    r   r   r   r   r   r   r   r   rH   s   `   @r
   test_w_dist_wo_download_urlz%Test_main.test_w_dist_wo_download_url  s   ......$'''	 	 	 	 	 	 S}555 	> 	><<<> >I	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	/$888	+,,,*,DEEEEE   AAAc                 d    ddl m} t          d           fd}t          ||          5                       g d          }d d d            n# 1 swxY w Y                        |j        g                                |j                                        j	        d           d S )Nr   r   zhttp://example.com/dist/foor   c                 `                         | d                                |d            S r   r   r   s     r
   r   z;Test_main.test_w_dist_w_download_url.<locals>._get_metadata$  r   r   r   r   r   r   s   `   @r
   test_w_dist_w_download_urlz$Test_main.test_w_dist_w_download_url   s   ......"?@@@	 	 	 	 	 	 S}555 	> 	><<<> >I	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	> 	/$888	+,,,*,IJJJJJr   N)rG   )r#   r$   r%   r   r   r   r   r&   r   r
   r   r      s]           
- 
- 
-F F FK K K K Kr   r   c                       e Zd Zd ZdS )r6   c                 0    |D ]}||         | j         |<   d S r.   __dict__r   rC   ks      r
   __init__z_Options.__init__1  .     	% 	%A!!uDM!	% 	%r   N)r#   r$   r%   r   r&   r   r
   r6   r6   /  s#        % % % % %r   r6   c                       e Zd Zd Zd ZdS )rV   c                 0    |D ]}||         | j         |<   d S r.   r   r   s      r
   r   z_Meta.__init__7  r   r   c                 D    t          t          | j                            S r.   )iterr   r   r   s    r
   __iter__z_Meta.__iter__;  s    F4=))***r   N)r#   r$   r%   r   r   r&   r   r
   rV   rV   5  s2        % % %+ + + + +r   rV   c                        e Zd Zd Zd Zd ZdS )r   c                     | _         t          fd|D                       | _        |                                D ]\  }}t	          ||           d S )Nc                 4    g | ]}|t          |          fS r&   )getattr).0keymodules     r
   
<listcomp>z$_Monkey.__init__.<locals>.<listcomp>C  s(    JJJgfc&:&: ;JJJr   )r  dict
to_restoreitemssetattr)r   r  rC   r  values    `   r
   r   z_Monkey.__init__A  sh    JJJJrJJJKK((** 	( 	(JCFC''''	( 	(r   c                     | S r.   r&   r   s    r
   	__enter__z_Monkey.__enter__G  s    r   c                 p    | j                                         D ]\  }}t          | j        ||           d S r.   )r  r  r  r  )r   exc_typeexc_valexc_tbr  r  s         r
   __exit__z_Monkey.__exit__J  sD    ///11 	- 	-JCDKe,,,,	- 	-r   N)r#   r$   r%   r   r
  r  r&   r   r
   r   r   >  sA        ( ( (  - - - - -r   r   c                   $    e Zd ZdZd Zd Zd ZdS )r   Fc                     g | _         d S r.   )r   r   s    r
   r   z_Formatter.__init__R  s    r   c                 :    | j                             |           d S r.   )r   append)r   rH   s     r
   __call__z_Formatter.__call__U  s      &&&&&r   c                     d| _         d S )NT)r   r   s    r
   r   z_Formatter.finishX  s    r   N)r#   r$   r%   r   r   r  r   r&   r   r
   r   r   N  sF        I  ' ' '    r   r   )r   r   r   r   r   unittestTestCaser   r(   r;   r>   rK   rf   r   r   r   r   r6   rV   r   r   r&   r   r
   <module>r     s       				     



 ( ( ( ( ((+ ( ( ((0 0 0 0 0! 0 0 0&    V    /  /  /  /  /(#^  /  /  /D4 4 4 4 4h' 4 4 4@A A A A Ax . A A A>%C %C %C %C %Cx . %C %C %CN1+ 1+ 1+ 1+ 1+!> 1+ 1+ 1+f7K 7K 7K 7K 7K! 7K 7K 7Kr% % % % %v % % %+ + + + +F + + +- - - - -f - - -          r   