
    di                         d dl Z d dlZd dlZ G d dej                  Z G d de          Z G d dee          Z G d d	ee          ZdS )
    Nc                   d    e Zd Zd Zd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 )
SDistTestsc                     ddl m} |S )Nr   )SDist)pkginfo.sdistr   )selfr   s     8lib/python3.11/site-packages/pkginfo/tests/test_sdist.py_getTargetClasszSDistTests._getTargetClass   s    ''''''    Nc                 |    | |                                  ||          S  |                                  |          S N)r
   )r   filenamemetadata_versions      r	   _makeOnezSDistTests._makeOne   sF     	F)4''))(4DEEE%t##%%h///r   c                 .   |                      |j        |           |                      |j        d           |                      |j        d           |                      |j        d            |                      t          |j                  g            d S )N	mypackagez0.1)assertEqualr   nameversionkeywordslistsupported_platforms)r   sdistr   s      r	   _checkSamplezSDistTests._checkSample   s    222[111......e788"=====r   c                 Z    |                      t          |j                  ddg           d S )NzDevelopment Status :: 4 - Betaz#Environment :: Console (Text Based))r   r   classifiers)r   r   s     r	   _checkClassifierszSDistTests._checkClassifiers   s<    e/00:?	 	 	 	 	r   c                     dd l }|j                            t                    \  }}d|z  }|                     t
          | j        |           d S )Nr   z*%s/../../docs/examples/nonesuch-0.1.tar.gzospathsplit__file__assertRaises
ValueErrorr   r   r    d_r   s        r	   test_ctor_w_invalid_filenamez'SDistTests.test_ctor_w_invalid_filename   sL    			w}}X&&1?!C*dmX>>>>>r   c                     dd l }|j                            t                    \  }}d|z  }|                     t
          | j        |           d S )Nr   z(%s/../../docs/examples/nopkginfo-0.1.zipr   r&   s        r	   test_ctor_wo_PKG_INFOz SDistTests.test_ctor_wo_PKG_INFO#   sL    			w}}X&&1=A*dmX>>>>>r   c                     dd l }|j                            t                    \  }}d|z  }|                     |          }|                     |j        d           |                     ||           d S )Nr   z(%s/../../docs/examples/mypackage-0.1.tar1.0r    r!   r"   r#   r   r   r   r   r   r    r'   r(   r   r   s         r	   test_ctor_w_tarzSDistTests.test_ctor_w_tar)   r    			w}}X&&1=Ah''/777%*****r   c                     dd l }|j                            t                    \  }}d|z  }|                     |          }|                     |j        d           |                     ||           d S )Nr   +%s/../../docs/examples/mypackage-0.1.tar.gzr-   r.   r/   s         r	   test_ctor_w_gztarzSDistTests.test_ctor_w_gztar1   sr    			w}}X&&1@1Dh''/777%*****r   c                    dd l }|j                            t                    \  }}d|z  }|                     |d          }|                     ||           |                     |j        d           |                     |           d S )Nr   r3   1.1r   )	r    r!   r"   r#   r   r   r   r   r   r/   s         r	   &test_ctor_w_gztar_and_metadata_versionz1SDistTests.test_ctor_w_gztar_and_metadata_version9   s    			w}}X&&1@1Dh??%***/777u%%%%%r   c                     dd l }|j                            t                    \  }}d|z  }|                     |          }|                     |j        d           |                     ||           d S )Nr   ,%s/../../docs/examples/mypackage-0.1.tar.bz2r-   r.   r/   s         r	   test_ctor_w_bztarzSDistTests.test_ctor_w_bztarB   sr    			w}}X&&1AAEh''/777%*****r   c                    dd l }|j                            t                    \  }}d|z  }|                     |d          }|                     |j        d           |                     ||           |                     |           d S )Nr   r:   r6   r7   	r    r!   r"   r#   r   r   r   r   r   r/   s         r	   &test_ctor_w_bztar_and_metadata_versionz1SDistTests.test_ctor_w_bztar_and_metadata_versionJ   s    			w}}X&&1AAEh??/777%***u%%%%%r   c                     dd l }|j                            t                    \  }}d|z  }|                     |          }|                     |j        d           |                     ||           d S )Nr   (%s/../../docs/examples/mypackage-0.1.zipr-   r.   r/   s         r	   test_ctor_w_zipzSDistTests.test_ctor_w_zipS   r1   r   c                    dd l }|j                            t                    \  }}d|z  }|                     |d          }|                     |j        d           |                     ||           |                     |           d S )Nr   r@   r6   r7   r=   r/   s         r	   $test_ctor_w_zip_and_metadata_versionz/SDistTests.test_ctor_w_zip_and_metadata_version[   s    			w}}X&&1=Ah??/777%***u%%%%%r   c                     dd l }|j                            t                    \  }}d|z  }|                     t
                    5  |                     |d           d d d            d S # 1 swxY w Y   d S )Nr   z*%s/../../docs/examples/mypackage-0.1.bogusr6   r7   r   r&   s        r	   test_ctor_w_boguszSDistTests.test_ctor_w_bogusd   s    			w}}X&&1?!Cz** 	< 	<MM(UM;;;	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	< 	<s   A++A/2A/NN)__name__
__module____qualname__r
   r   r   r   r)   r+   r0   r4   r8   r;   r>   rA   rC   rE    r   r	   r   r      s          0 0 0 0
> > >  ? ? ?? ? ?+ + ++ + +& & &+ + +& & &+ + +& & &< < < < <r   r   c                   L     e Zd Z fdZ fdZd Zd Zd Zd	dZ fdZ	 xZ
S )
UnpackedMixinc                     t          t          |                                            t          j                    | _        d S r   )superrL   setUptempfilemkdtemp_UnpackedMixin__tmpdirr   	__class__s    r	   rO   zUnpackedMixin.setUpn   s3    mT""((*** (**r   c                     t          j        | j                   t          t          |                                            d S r   )shutilrmtreerR   rN   rL   tearDownrS   s    r	   rX   zUnpackedMixin.tearDownr   s7    dm$$$mT""++-----r   c                     ddl m} |S )Nr   )UnpackedSDist)r   rZ   )r   rZ   s     r	   r
   zUnpackedMixin._getTargetClassv   s    //////r   c                     dd l }|                    | j                  }t          |          dk    sJ |j                            | j        |d                   S )Nr      )r    listdirrR   lenr!   join)r   r    topnamess      r	   _getTopDirectoryzUnpackedMixin._getTopDirectoryz   sQ    			::dm,,8}}!!!!w||DM8A;777r   c                 *    |                                  S r   )ra   )r   s    r	   _getLoadFilenamezUnpackedMixin._getLoadFilename   s    $$&&&r   Nc                    |                                                      |          \  }}}	 |                    | j                   |                                 n# |                                 w xY w|                                 }| |                                  ||          S  |                                  |          S r   )r
   _get_archive
extractallrR   closerc   )r   r   r   archiver(   load_filenames         r	   r   zUnpackedMixin._makeOne   s    ,,..;;HEEA	t}---MMOOOOGMMOOOO--// 	K)4''))-9IJJJ%t##%%m444s   A A2c                     |                                  }t          t          |                               ||           d S r   )ra   rN   rL   r   )r   r   r   rT   s      r	   r   zUnpackedMixin._checkSample   s:    ((**mT""//x@@@@@r   rF   )rG   rH   rI   rO   rX   r
   ra   rc   r   r   __classcell__)rT   s   @r	   rL   rL   m   s        + + + + +. . . . .  8 8 8' ' '5 5 5 5A A A A A A A A Ar   rL   c                       e Zd ZdS ) UnpackedSDistGivenDirectoryTestsN)rG   rH   rI   rJ   r   r	   rm   rm      s        Dr   rm   c                       e Zd Zd ZdS ) UnpackedSDistGivenFileSDistTestsc                 d    dd l }|j                            |                                 d          S )Nr   zsetup.py)r    r!   r_   ra   )r   r    s     r	   rc   z1UnpackedSDistGivenFileSDistTests._getLoadFilename   s-    			w||D1133Z@@@r   N)rG   rH   rI   rc   rJ   r   r	   ro   ro      s(        A A A A Ar   ro   )	rV   rP   unittestTestCaser   objectrL   rm   ro   rJ   r   r	   <module>rt      s      e< e< e< e< e<" e< e< e<P&A &A &A &A &AF &A &A &AR	 	 	 	 	}j 	 	 	A A A A A}j A A A A Ar   