
    .Ph"                     F   d dl Z d dlZd dlZd dlZd dlmZ d dl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 Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d  Z%d! Z&d+d#Z'd$ Z(d% Z)d& Z* G d' d(e+          Z, G d) d*e+          Z-dS ),    N)mockc                     ddl m}  ddl m} |                                 d         }t	          j                    }t          j                            t          d|          5  t          j        t                    5   |g            d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   ||                                v sJ d S )Nr   )__doc___parse_optionsstderr)pkginfo.commandliner   r   
splitlinesioStringIOr   patchobjectsyspytestraises
SystemExitgetvalue)usager   	firstlinebufs       ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pkginfo/tests/test_commandline.pytest__parse_options_emptyr   	   sL   444444222222  ""1%I
+--C			3#	.	.  ]:&& 	 	N2	 	 	 	 	 	 	 	 	 	 	 	 	 	 	               &&&&&&s6    B):BB)B	B)B	B))B-0B-c                  B    ddl m}   | dg          \  }}|dgk    sJ d S )Nr   r   foo)r	   r   )r   optionsargss      r   test__parse_options_nonemptyr      s<    222222"NE7++MGTE7??????    c                 $    ddl m}  ||           S )Nr   )Base)r	   r    )r   r    s     r   
_make_baser!      "    ((((((4==r   c                  R    t          t          d                    } | j        J d S )N fields)r!   _Options_fields)bases    r   test_base_ctor_defaultsr*   !   s.    hb)))**D<r   c                  r    t                      } t          t          |                     }|j        | u sJ d S )Nr%   )r   r!   r'   r(   )r&   r)   s     r   test_base_ctor_w_fieldsr,   %   s<    XXFhf---..D<6!!!!!!r   c                     t          j                    }t          j                            t
          d|          5   | |i | d d d            n# 1 swxY w Y   |                                S Nstdout)r   r   r   r   r   r   r   )funcr   kwr   s       r   _capture_outputr2   *   s    
+--C			3#	.	.  db               <<>>s   	AAAc                     t           j                            t          d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_outputr7   2   s    			3&((	3	3  t                 s   AAAc                 $    ddl m}  ||           S )Nr   )Simple)r	   r9   )r   r9   s     r   _make_simpler:   6   s"    ******6'??r   c                  T    t          t          d d                    } | j        sJ d S )NTr&   skip)r:   r'   _skipr5   s    r   test_simple___init__r@   :   s0    ($T:::;;F<r   c                  ~    t          t          dd                    } t                      }t          | |           d S )Nr$   Fr<   r:   r'   _Metar7   r4   s     r   "test_simple__call___w_empty_fieldsrD   >   s;    ("5999::F77Dvtr   c                      t          t          dd                    } t          d           }t          | |           d S )Nr$   Tr<   r   rB   r4   s     r   3test_simple__call___w_skip_and_value_None_no_fieldsrG   C   s?    ("488899FT???Dvtr   c                      t          t          dd                    } t          dd          }t          | |           d S )NrF   Tr<   r$   Barr   barrB   r4   s     r   @test_simple__call___w_skip_and_value_empty_tuple_explicit_fieldsrL   H   sD    ((>>>??FRU###Dvtr   c                      t          t          dd                    } t          d          }t          | |          }|dk    sJ d S )NrF   Tr<   Fooz	foo: Foo
)r:   r'   rC   r2   )r5   r6   outputs      r   5test_simple__call___w_skip_but_values_explicit_fieldsrP   M   sR    ((>>>??FUDVT**F\!!!!!!r   c                 $    ddl m}  ||           S )Nr   )
SingleLine)r	   rR   )r   rR   s     r   _make_single_linerS   S   s$    ......:gr   c                  x    t          t          d dd                    } | j        dk    sJ | j        dk    sJ d S )NISr&   
item_delimsequence_delim)rS   r'   _item_delim_sequence_delim)singles    r   test_singleline__init___r]   X   sS    SAAAC CF$$$$!S((((((r   c                      t          t          ddt                                          } t          dd          }t	          | |          }|dk    sJ d S )Nr$   |rW   rN   rI   rJ   zBar|Foo
)rS   r'   r   rC   r2   r\   r6   rO   s      r   (test_singleline__call__wo_fields_wo_listra   ^   sh    s#)88	- 	- 	-. .F U&&&DVT**F[      r   c                      t          t          ddd                    } t          dddgd	          }t          | |          }|d
k    sJ d S )NrJ   r_   *rW   rN   Bar1Bar2Bazr   rK   bazzFoo|Bar1*Bar2
)rS   r'   rC   r2   r`   s      r   &test_singleline__call__w_fields_w_listri   f   sl    3#&	( 	( 	() )F U 0e<<<DVT**F&&&&&&&r   c                 $    ddl m}  ||           S )Nr   )CSV)r	   rk   )r   rk   s     r   	_make_csvrl   n   "    ''''''3w<<r   c                  \    t          t          d d                    } | j        dk    sJ d S )NrV   r&   rY   )rl   r'   r[   )csvs    r   test_csv__init___rq   s   s;    
S1113 3C#%%%%%%r   c                      t          dd          } t          t          d t                                          }t	          ||           }|dk    sJ d S )NrN   rI   rJ   ro   zbar,foo
Bar,Foo
)rC   rl   r'   r   r2   r6   rp   rO   s      r   !test_csv__call__wo_fields_wo_listrt   x   sg    U&&&D
#)88	- 	- 	-. .C S$''F-------r   c                      t          dddgd          } t          t          ddd	                    }t          ||           }|d
k    sJ d S )NrN   rd   re   rf   rg   rJ   r_   rc   rW   zfoo,bar
Foo,Bar1*Bar2
)rC   rl   r'   r2   rs   s      r   test_csv__call__w_fields_w_listrv      sl    U 0e<<<D
3#&	( 	( 	() )C S$''F3333333r   c                 $    ddl m}  ||           S )Nr   )INI)r	   rx   )r   rx   s     r   	_make_iniry      rm   r   c                     t          t          d                    } t          ddd          }| j                            d           t          j        t                    5   | |           d d d            d S # 1 swxY w Y   d S )NrF   r%   r   0.1rN   nameversionr   foo-0.1)ry   r'   rC   _parseradd_sectionr   r   
ValueError)inir6   s     r   test_ini__call___duplicater      s    
HH---
.
.CeU666DKI&&&	z	"	"  D			                 s   #A<<B B c                     t          t          d                     } t          ddd          } | |           | j        }|                                dgk    sJ t          |                    d                    g dk    sJ |                    dd          dk    sJ |                    dd	          dk    sJ |                    dd          dk    sJ d S )
Nr%   r   r{   rN   r|   r   )r   r}   r~   r}   r~   ry   r'   rC   r   sectionssortedr   getr   r6   cps      r   "test_ini__call___wo_fields_wo_listr      s    
HD)))
*
*CeU666DCIII	B;;==YK''''"**Y''((,F,F,FFFFF66)V$$----66)Y''5000066)U##u,,,,,,r   c                     t          t          d                    } t          dddddgd	          } | |           | j        }|                                d
gk    sJ t          |                    d
                    ddgk    sJ |                    d
d          dk    sJ |                    d
d          dk    sJ d S )NrJ   r%   r   r{   rN   rd   re   rf   r}   r~   r   rK   rh   r   rK   z
Bar1
	Bar2r   r   s      r    test_ini__call___w_fields_w_listr      s    
HN333
4
4CV  D CIII	B;;==YK''''"**Y''((UEN::::66)U##u,,,,66)U##~555555r   c                 $    ddl m}  ||           S )Nr   )JSON)r	   r   )r   r   s     r   
_make_jsonr      r"   r   c                      t          t          d                    } t          ddd          }d| j        d<   t	          j        t                    5   | |           d d d            d S # 1 swxY w Y   d S )N)r}   r%   r   r{   rN   r|   r}   r   r'   rC   _mappingr   r   r   jsonr6   s     r   0test_json__call___duplicate_with_meta_and_fieldsr      s    hi00011DeU666D!DM&	z	"	"  T


                    A,,A03A0c                      t          t          d                     } t          ddd          }d| j        d<   t	          j        t                    5   | |           d d d            d S # 1 swxY w Y   d S )Nr%   r   r{   rN   r|   r}   r   r   s     r   /test_json__call___duplicate_with_meta_wo_fieldsr      s    hd+++,,DeU666D!DM&	z	"	"  T


                 r   c                      t          t          d                     } t          ddd          } | |           t          j        g d          }|| j        k    sJ d S )Nr%   r   r{   rN   r|   r   rN   )r}   r   )r~   r{   r   r'   rC   collectionsOrderedDictr   r   r6   expecteds      r   #test_json__call___wo_fields_wo_listr      su    hd+++,,DeU666DDJJJ& (= (= (= > >Ht}$$$$$$r   c                      t          t          d                    } t          dddddgd	          } | |           t          j        d
dddgfg          }|| j        k    sJ d S )NrJ   r%   r   r{   rN   rd   re   rf   r   r   rK   r   r   s      r   !test_json__call___w_fields_w_listr      s    hn55566DeUFF#3@ @ @DDJJJ& 01(3 4 4Ht}$$$$$$r   c                     t          t          d                     } t          ddd          } | |           t          | j                  }t          j        |t          j                  }t          j        g d          }||k    sJ d S )Nr%   r   r{   rN   r|   )object_pairs_hookr   )	r   r'   rC   r2   finishjson_moduleloadsr   r   )r   r6   rO   r   s       r   test_json__call___outputr      s    hd+++,,DeU666DDJJJT[))F+"9; ; ;F& (= (= (= > >Hvr   r5   c                     ddl m} t          j        dg          t          j                            dfd          5   ||            d d d            n# 1 swxY w Y   S )Nr   )mainr   )speczpkginfo.commandline._FORMATTERSc                      S Nr$   )r   	formatters    r   <lambda>z_call_main.<locals>.<lambda>   s    	 r   r?   )r	   r   r   Mockr   dict)r   monkeyr   r   s      @r   
_call_mainr      s    ((((((	z***I	))))) 
 
 
   	T


	               s   AA!Ac                     ddl m}  t          j        d          5 }d |_        t          dg          }d d d            n# 1 swxY w Y   |                                 |j                                         |                    dd            d S )Nr   commandline pkginfo.commandline.get_metadatar   )	pkginfor   r   r   return_valuer   assert_not_calledr   assert_called_once_with)MUT_get_metadatar   s      r   test_main_w_missing_distr      s    ******	6	7	7 (=%)"w''	( ( ( ( ( ( ( ( ( ( ( ( ( ( ( !!!,,...))%66666s   ?AAc                  \   ddl m}  t          d           }t          j        d          5 }||_        t          g d          }d d d            n# 1 swxY w Y   |                    |           |j                                         |                    dd            |j	        dk    sJ d S )Nr   r   download_urlr   z-dzhttp://example.com/path/to/foor   zhttp://example.com/foo
r   r   rC   r   r   r   r   r   r   r   r   r6   r   r   s       r    test_main_w_dist_wo_download_urlr      s   ******d###D	6	7	7 :=%)"888: :	: : : : : : : : : : : : : : :
 %%d+++,,...)).$??? 8888888   AAAc                  \   ddl m}  t          d          }t          j        d          5 }||_        t          g d          }d d d            n# 1 swxY w Y   |                    |           |j                                         |                    dd            |j	        dk    sJ d S )Nr   r   zhttp://example.com/dist/foor   r   r   r   r   r   s       r   test_main_w_dist_w_download_urlr     s   ******;<<<D	6	7	7 :=%)"888: :	: : : : : : : : : : : : : : :
 %%d+++,,...)).$??? =======r   c                       e Zd Zd ZdS )r'   c                 0    |D ]}||         | j         |<   d S r   __dict__selfr1   ks      r   __init__z_Options.__init__  .     	% 	%A!!uDM!	% 	%r   N)__name__
__module____qualname__r   r$   r   r   r'   r'     s#        % % % % %r   r'   c                       e Zd Zd Zd ZdS )rC   c                 0    |D ]}||         | j         |<   d S r   r   r   s      r   r   z_Meta.__init__  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   rC   rC     s2        % % %+ + + + +r   rC   r?   ).r   r   r   r   r   unittestr   r   r   r   r!   r*   r,   r2   r7   r:   r@   rD   rG   rL   rP   rS   r]   ra   ri   rl   rq   rt   rv   ry   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r'   rC   r$   r   r   <module>r      s       				     



       ( ( (    
! ! !# # #
          
  
  
# # #  
* * *" " "( ( (  
' ' '
/ / /5 5 5  
  	. 	. 	.7 7 7   
    & & && & &	 	 	   	7 	7 	7: : : ? ? ? % % % % %v % % %+ + + + +F + + + + +r   