
    .PhZ                        d dl 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dWd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.d0 Z/d1 Z0d2 Z1d3 Z2d4 Z3d5 Z4d6 Z5d7 Z6d8 Z7d9 Z8d: Z9d; Z:d< Z;d= Z<d> Z=d? Z>d@ Z?dA Z@dB ZAdC ZBdD ZCdE ZDdF ZEdG ZFdH ZGdI ZHdJ ZIdK ZJdL ZKdM ZLdN ZMdO ZNdP ZOdQ ZPdR ZQdS ZRdT ZSdU ZTdV ZUdS )X    Nc                  f    ddl m}  d}|                    d          } | |          }||k    sJ d S )Nr   _must_decode   Ézlatin-1pkginfo.distributionr   encoder   	TO_ENCODEencodeddecodeds       _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pkginfo/tests/test_distribution.py test__must_decode_w_bytes_latin1r      sR    111111Iy))Gl7##Gi    c                  f    ddl m}  d}|                    d          } | |          }||k    sJ d S )Nr   r   r   zutf-8r   r
   s       r   test__must_decode_w_bytes_utf8r      sR    111111Iw''Gl7##Gir   c                  <    ddl m}  d} | |          }||k    sJ d S )Nr   r   r   )r   r   r   ARGr   s      r   test__must_decode_w_unicoder      s9    111111
Cl3Gc>>>>>>r   c                  P    ddl m}  t                      } | |          }||u sJ d S )Nr   r   )r   r   objectr   s      r   test__must_decode_w_objectr      s=    111111
((Cl3Gc>>>>>>r   c                  :    ddl m}  d} | d|          |k    sJ d S )Nr   _collapse_leading_wsz=This is a description without newlines or leading whitespace.Descriptionr   r   r   DESCRIPTIONs     r   8test__collapse_leading_ws_w_descr_one_line_wo_leading_wsr!   #   sR    999999AK{$ $'23 3 3 3 3 3r   c                  ^    ddl m}  d} | d|          |                                k    sJ d S )Nr   r   z@        This is a description with leading whitespace: strip it.r   r   r   stripr   s     r   7test__collapse_leading_ws_w_descr_one_line_w_leading_wsr%   +   s^    999999DK{$ $'2'8'8':':; ; ; ; ; ;r   c                  :    ddl m}  d} | d|          |k    sJ d S )Nr   r   zlThis is a description with newlines but without leading whitespace.

We expect the newlines to be preserved.r   r   r   s     r   :test__collapse_leading_ws_w_descr_multi_line_wo_leading_wsr'   3   sS    999999+K  {$ $'23 3 3 3 3 3r   c                  >    ddl m}  d}d} | d|          |k    sJ d S )Nr   r   z        This is a description with newlines and leading whitespace.

        The newlines should be preserved, and the whitespace strippedzzThis is a description with newlines and leading whitespace.

The newlines should be preserved, and the whitespace strippedr   r   r   r    EXPECTEDs      r   9test__collapse_leading_ws_w_descr_multi_line_w_leading_wsr+   =   s\    999999IK
AH
  {$ $'/0 0 0 0 0 0r   c                  >    ddl m}  d}d} | d|          |k    sJ d S )Nr   r   zThis is a description with newlines.

        Some lines have leading whitespace.

        The newlines should be preserved, and the whitespace strippedzThis is a description with newlines.

Some lines have leading whitespace.

The newlines should be preserved, and the whitespace strippedr   r   r)   s      r   ?test__collapse_leading_ws_w_descr_multi_line_w_mixed_leading_wsr-   M   s\    999999IKAH  {$ $'/0 0 0 0 0 0r   c                  :    ddl m}  d} | d|          |k    sJ d S )Nr   r   z=This is a field value without newlines or leading whitespace.Otherr   r   OTHERs     r   8test__collapse_leading_ws_w_other_one_line_wo_leading_wsr2   `   sR    999999AE  ! ! ! ! ! !r   c                  ^    ddl m}  d} | d|          |                                k    sJ d S )Nr   r   z@        This is a field value with leading whitespace: strip it.r/   r#   r0   s     r   7test__collapse_leading_ws_w_other_one_line_w_leading_wsr4   h   sZ    999999DE  ;;==) ) ) ) ) )r   c                  >    ddl m}  d}d} | d|          |k    sJ d S )Nr   r   zOThis is a field value with newlines.

We expect them to be converted to spaces.zOThis is a field value with newlines.  We expect them to be converted to spaces.r/   r   r   r1   r*   s      r   :test__collapse_leading_ws_w_other_multi_line_wo_leading_wsr7   p   s]    999999-E
	4    #$ $ $ $ $ $r   c                  >    ddl m}  d}d} | d|          |k    sJ d S )Nr   r   zThis is a field value with newlines and leading whitespace.

We expect newlines to be converted to spaces.

We expect the leading whitespace to be stripped.zThis is a field value with newlines and leading whitespace.  We expect newlines to be converted to spaces.  We expect the leading whitespace to be stripped.r/   r   r6   s      r   9test__collapse_leading_ws_w_other_multi_line_w_leading_wsr9   ~   s]    9999994E	; 
   #$ $ $ $ $ $r   1.0c                 8    ddl m}  |            }| | |_        |S )Nr   )Distribution)r   r<   metadata_version)r=   r<   dists      r   _make_distributionr?      s2    111111<>>D# 0Kr   c                     t          d           } | j        d k    sJ | j        d k    sJ | j        d k    sJ | j        dk    sJ | j        dk    sJ | j        d k    sJ | j        d k    sJ | j        d k    sJ | j	        d k    sJ | j
        d k    sJ | j        d k    sJ | j        d k    sJ | j        d k    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        d k    sJ | j        d k    sJ | j        d k    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        dk    sJ | j        d k    sJ | j        dk    sJ d S )N )r?   r=   nameversion	platformssupported_platformssummarydescriptionkeywords	home_pagedownload_urlauthorauthor_emaillicenseclassifiersrequiresprovides	obsoletes
maintainermaintainer_emailrequires_pythonrequires_externalrequires_distprovides_distobsoletes_distproject_urlsprovides_extrasdescription_content_typedynamic)sdists    r   test_distribution_ctor_defaultsr^      s9   t$$E!T)))):=D    ?b    $****=D    $$$$>T!!!!?d""""%%%%<4%%%%=D    """">R>R?b    t####!T)))) D(((("b(((("$$$$"$$$$2%%%%#### B&&&&)T1111=Br   c                      t          d           } t          j        t                    5  |                                  d d d            d S # 1 swxY w Y   d S N)r?   pytestraisesNotImplementedErrorextractMetadatar>   s    r   <test_distribution_extractMetadata_raises_NotImplementedErrorrf      s    d##D	*	+	+                      AAAc                      t          d           } t          j        t                    5  |                                  d d d            d S # 1 swxY w Y   d S r`   )r?   ra   rb   rc   readre   s    r   1test_distribution_read_raises_NotImplementedErrorrj      s    d##D	*	+	+  		                 rg   c                  b    ddl m}  t                      }|                                | k    sJ d S )Nr   HEADER_ATTRS_1_0)r   rm   r?   _getHeaderAttrsrm   r>   s     r   %test_distribution__getHeaderAttrs_hitrp      sC    555555D!!%5555555r   c                  L   ddl m}  d}t          |          }t          j        d          5 }|                                dk    sJ 	 d d d            n# 1 swxY w Y   t          |          dk    sJ |d         j        | u sJ |t          |d         j	                  v sJ d S )Nr   UnknownMetadataVersionnonesuchTrecordrA      )
r   rs   r?   warningscatch_warningsrn   lencategorystrmessage)rs   NONESUCHr>   warneds       r   .test_distribution__getHeaderAttrs_miss_unknownr      s   ;;;;;;Hh''D		 	-	-	- ,##%%+++++, , , , , , , , , , , , , , , v;;!!9!77777s6!9,--------s   AAAc                  p   ddl m}  ddl m} ddl m} d}t	          |          }t          j        d          5 }|                                | |         k    sJ 	 d d d            n# 1 swxY w Y   t          |          dk    sJ |d         j	        |u sJ |t          |d         j                  v sJ d S )	Nr   )HEADER_ATTRS)MAX_METADATA_VERSION_STR)NewMetadataVersionz99.99Tru   rw   )r   r   r   r   r?   rx   ry   rn   rz   r{   r|   r}   )r   r   r   HIGH_VERSIONr>   r   s         r   *test_distribution__getHeaderAttrs_miss_newr      s>   111111======777777Ll++D		 	-	-	- P##%%6N)OOOOOOP P P P P P P P P P P P P P P v;;!!9!333333vay011111111s   !A''A+.A+c                  L    t                      } |                     d           d S )Nz'Metadata-Version: 1.0
Name: lp722928_c3)r?   parsere   s    r   %test_distribution_parse_given_unicoder      s&    DJJ:;;;;;r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   rl   Metadata-Version: 1.0r:   c                     g | ]
}|d          S rw   rA   .0xs     r   
<listcomp>z@test_distribution_parse_Metadata_Version_1_0.<locals>.<listcomp>       9991!A$999r   )r   rm   r?   r   r=   listro   s     r   ,test_distribution_parse_Metadata_Version_1_0r      u    555555d##DJJ&''' E))))::99(8999999999r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   )HEADER_ATTRS_1_1zMetadata-Version: 1.11.1c                     g | ]
}|d          S r   rA   r   s     r   r   z@test_distribution_parse_Metadata_Version_1_1.<locals>.<listcomp>   r   r   )r   r   r?   r   r=   r   )r   r>   s     r   ,test_distribution_parse_Metadata_Version_1_1r      r   r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   )HEADER_ATTRS_1_2zMetadata-Version: 1.21.2c                     g | ]
}|d          S r   rA   r   s     r   r   z@test_distribution_parse_Metadata_Version_1_2.<locals>.<listcomp>  r   r   )r   r   r?   r   r=   r   )r   r>   s     r   ,test_distribution_parse_Metadata_Version_1_2r      r   r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   )HEADER_ATTRS_2_1zMetadata-Version: 2.12.1c                     g | ]
}|d          S r   rA   r   s     r   r   z@test_distribution_parse_Metadata_Version_2_1.<locals>.<listcomp>  r   r   )r   r   r?   r   r=   r   )r   r>   s     r   ,test_distribution_parse_Metadata_Version_2_1r     r   r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   )HEADER_ATTRS_2_2zMetadata-Version: 2.22.2c                     g | ]
}|d          S r   rA   r   s     r   r   z@test_distribution_parse_Metadata_Version_2_2.<locals>.<listcomp>  r   r   )r   r   r?   r   r=   r   )r   r>   s     r   ,test_distribution_parse_Metadata_Version_2_2r   
  r   r   c                      ddl m}  t          d           }|                    d           |j        dk    sJ t          |          d | D             k    sJ d S )Nr   )HEADER_ATTRS_2_3zMetadata-Version: 2.3z2.3c                     g | ]
}|d          S r   rA   r   s     r   r   z@test_distribution_parse_Metadata_Version_2_3.<locals>.<listcomp>  r   r   )r   r   r?   r   r=   r   )r   r>   s     r   ,test_distribution_parse_Metadata_Version_2_3r     r   r   c                     ddl m}  t          d           }t          j        d          5 }|                    d           t          |          g k    sJ 	 d d d            n# 1 swxY w Y   |j        dk    sJ t          |          dk    sJ |d         j	        | u sJ dt          |d         j                  v sJ d S )Nr   rr   Tru   zMetadata-Version: 1.3z1.3rw   )r   rs   r?   rx   ry   r   r   r=   rz   r{   r|   r}   )rs   r>   r   s      r   0test_distribution_parse_Metadata_Version_unknownr     s    ;;;;;;d##D		 	-	-	-  

*+++DzzR                               E))))v;;!!9!77777Cq	)********s   +A##A'*A'c                  h    t          d          } |                     d           | j        dk    sJ d S )Nr   r   )r?   r   r=   re   s    r   1test_distribution_parse_Metadata_Version_overrider   '  s<    e$$DJJ&''' E))))))r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzName: foobarfoobar)r?   r   rB   re   s    r   test_distribution_parse_Namer   ,  s8    DJJ~9      r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzVersion: 2.1.3b5z2.1.3b5)r?   r   rC   re   s    r   test_distribution_parse_Versionr   1  s9    DJJ!"""<9$$$$$$r   c                      t                      } |                     d           t          | j                  dgk    sJ d S )NzPlatform: Plan9Plan9r?   r   r   rD   re   s    r   'test_distribution_parse_Platform_singler   6  sC    DJJ !!!G9,,,,,,r   c                      t                      } |                     d           t          | j                  ddgk    sJ d S )NzPlatform: Plan9
Platform: AIXr   AIXr   re   s    r   )test_distribution_parse_Platform_multipler   ;  sF    DJJ/000GU#3333333r   c                      t                      } |                     d           t          | j                  dgk    sJ d S )NzSupported-Platform: Plan9r   r?   r   r   rE   re   s    r   1test_distribution_parse_Supported_Platform_singler   @  sD    DJJ*+++())gY666666r   c                      t                      } |                     d           t          | j                  ddgk    sJ d S )Nz=Supported-Platform: i386-win32
Supported-Platform: RedHat 7.2z
i386-win32z
RedHat 7.2r   re   s    r   3test_distribution_parse_Supported_Platform_multipler   E  sO    DJJ 1 2 2 2())lL-IIIIIIIr   c                  f    t                      } |                     d           | j        dk    sJ d S )NzSummary: Package for foozPackage for foo)r?   r   rF   re   s    r   test_distribution_parse_Summaryr   K  s:    DJJ)***<,,,,,,,r   c                  f    t                      } |                     d           | j        dk    sJ d S )Nz?Description: This package enables integration with foo servers.z2This package enables integration with foo servers.r?   r   rG   re   s    r   #test_distribution_parse_Descriptionr   P  sO    DJJI   	<	= 	= 	= 	= 	= 	=r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzGDescription: This package enables integration with
        foo servers.2This package enables integration with
foo servers.r   re   s    r   -test_distribution_parse_Description_multiliner   Z  sQ    DJJ	  
 	=	> 	> 	> 	> 	> 	>r   c                  f    t                      } |                     d           | j        dk    sJ d S )Nz<Foo: Bar

This package enables integration with
foo servers.r   r   re   s    r   .test_distribution_parse_Description_in_payloadr   e  sQ    DJJ	   	=	> 	> 	> 	> 	> 	>r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzKeywords: bar foo quxzbar foo qux)r?   r   rH   re   s    r    test_distribution_parse_Keywordsr   r  s9    DJJ&'''=M))))))r   c                  f    t                      } |                     d           | j        dk    sJ d S )Nz%Home-page: http://example.com/packagezhttp://example.com/package)r?   r   rI   re   s    r   !test_distribution_parse_Home_pager   w  s:    DJJ6777>9999999r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzAuthor: J. Phredd BloggsJ. Phredd Bloggs)r?   r   rK   re   s    r   test_distribution_parse_Authorr   |  s:    DJJ)***;,,,,,,,r   c                  f    t                      } |                     d           | j        dk    sJ d S )Nz!Author-email: phreddy@example.comphreddy@example.com)r?   r   rL   re   s    r   $test_distribution_parse_Author_Emailr     s;    DJJ2333 5555555r   c                  f    t                      } |                     d           | j        dk    sJ d S )NzLicense: PoeticPoetic)r?   r   rM   re   s    r   test_distribution_parse_Licenser     s9    DJJ !!!<8######r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zClassifier: Some :: Silly ThingSome :: Silly Thingr?   r   r   rN   re   s    r   )test_distribution_parse_Classifier_singler     sH    e$$DJJ0111 !!&;%<<<<<<<r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   z7Classifier: Some :: Silly Thing
Classifier: Or :: Otherr   zOr :: Otherr   re   s    r   +test_distribution_parse_Classifier_multipler     sR    e$$DJJ * + + + !!&;]%KKKKKKKr   c                  h    t          d          } |                     d           | j        dk    sJ d S )Nr   z:Download-URL: http://example.com/package/mypackage-0.1.zipz,http://example.com/package/mypackage-0.1.zip)r?   r   rJ   re   s    r   $test_distribution_parse_Download_URLr     sH    e$$DJJ ? @ @ @ NNNNNNNr   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zRequires: SpanishInquisitionSpanishInquisitionr?   r   r   rO   re   s    r   2test_distribution_parse_Requires_single_wo_versionr     sG    e$$DJJ-...#7"8888888r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z$Requires: SpanishInquisition (>=1.3)SpanishInquisition (>=1.3)r   re   s    r   1test_distribution_parse_Requires_single_w_versionr     sG    e$$DJJ5666#?"@@@@@@@r   c                      t          d          } |                     d           t          | j                  g dk    sJ d S )Nr   zWRequires: SpanishInquisition
Requires: SillyWalks (1.4)
Requires: kniggits (>=2.3,<3.0))r   SillyWalks (1.4)kniggits (>=2.3,<3.0)r   re   s    r   )test_distribution_parse_Requires_multipler     sf    e$$DJJ 2 3 3 3 	T]  
  
  
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zProvides: SillyWalks
SillyWalksr?   r   r   rP   re   s    r   2test_distribution_parse_Provides_single_wo_versionr     sE    e$$DJJ%&&&<.000000r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zProvides: SillyWalks (1.4)r   r   re   s    r   1test_distribution_parse_Provides_single_w_versionr     sG    e$$DJJ+,,,#5"6666666r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   z1Provides: SillyWalks
Provides: DeadlyJoke (3.1.4)r   DeadlyJoke (3.1.4)r   re   s    r   )test_distribution_parse_Provides_multipler     sQ    e$$DJJ / 0 0 0<1E"FFFFFFFr   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zObsoletes: SillyWalksr   r?   r   r   rQ   re   s    r   3test_distribution_parse_Obsoletes_single_no_versionr     sE    e$$DJJ&'''L>111111r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zObsoletes: SillyWalks (<=1.3)SillyWalks (<=1.3)r   re   s    r   2test_distribution_parse_Obsoletes_single_w_versionr     sG    e$$DJJ.///$8#9999999r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   z1Obsoletes: kniggits
Obsoletes: SillyWalks (<=2.0)kniggitszSillyWalks (<=2.0)r   re   s    r   *test_distribution_parse_Obsoletes_multipler     sQ    e$$DJJ 0 1 1 1J0D#EEEEEEEr   c                  j    t          d          } |                     d           | j        dk    sJ d S )Nr   r=   zMaintainer: J. Phredd Bloggsr   )r?   r   rR   re   s    r   "test_distribution_parse_Maintainerr    s?    u555DJJ-...?0000000r   c                  j    t          d          } |                     d           | j        dk    sJ d S )Nr   r   z%Maintainer-email: phreddy@example.comr   )r?   r   rS   re   s    r   (test_distribution_parse_Maintainer_Emailr    s@    u555DJJ6777 $9999999r   c                  h    t          d          } |                     d           | j        dk    sJ d S )Nr   zRequires-Python: >2.4z>2.4)r?   r   rT   re   s    r   3test_distribution_parse_Requires_Python_single_specr    s<    e$$DJJ&'''6))))))r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zRequires-External: libfoolibfoor?   r   r   rU   re   s    r   ;test_distribution_parse_Requires_External_single_wo_versionr	    sF    e$$DJJ*+++&''H:555555r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z!Requires-External: libfoo (>=1.3)zlibfoo (>=1.3)r  re   s    r   :test_distribution_parse_Requires_External_single_w_versionr    sH    e$$DJJ2333&'',<+=======r   c                      t          d          } |                     d           t          | j                  g dk    sJ d S )Nr   z`Requires-External: libfoo
Requires-External: libbar (1.4)
Requires-External: libbaz (>=2.3,<3.0))r  zlibbar (1.4)zlibbaz (>=2.3,<3.0)r  re   s    r   2test_distribution_parse_Requires_External_multipler    sg    e$$DJJ 9 : : : 	T#$$ )
 )
 )
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z!Requires-Dist: SpanishInquisitionr   r?   r   r   rV   re   s    r   7test_distribution_parse_Requires_Dist_single_wo_versionr    sH    e$$DJJ2333"##(<'=======r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z)Requires-Dist: SpanishInquisition (>=1.3)r   r  re   s    r   6test_distribution_parse_Requires_Dist_single_w_versionr    sH    e$$DJJ:;;;"##(D'EEEEEEEr   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z:Requires-Dist: SpanishInquisition; python_version == '1.4'z+SpanishInquisition; python_version == '1.4'r  re   s    r   9test_distribution_parse_Requires_Dist_single_w_env_markerr    s^    e$$DJJ . / / / 	T  	67	8 	8 	8 	8 	8 	8r   c                      t          d          } |                     d           t          | j                  g dk    sJ d S )Nr   zyRequires-Dist: SpanishInquisition
Requires-Dist: SillyWalks; python_version == '1.4'
Requires-Dist: kniggits (>=2.3,<3.0))r   z#SillyWalks; python_version == '1.4'r   r  re   s    r   .test_distribution_parse_Requires_Dist_multipler    sg    e$$DJJ 7 8 8 8 	T   %
 %
 %
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zProvides-Dist: SillyWalksr   r?   r   r   rW   re   s    r   7test_distribution_parse_Provides_Dist_single_wo_versionr    sF    e$$DJJ*+++"##~555555r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zProvides-Dist: SillyWalks (1.4)r   r  re   s    r   6test_distribution_parse_Provides_Dist_single_w_versionr  "  sH    e$$DJJ0111"##(:';;;;;;;r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z0Provides-Dist: SillyWalks; sys.platform == 'os2'!SillyWalks; sys.platform == 'os2'r  re   s    r   9test_distribution_parse_Provides_Dist_single_w_env_markerr  '  sH    e$$DJJABBB"##(K'LLLLLLLr   c                      t          d          } |                     d           t          | j                  g dk    sJ d S )Nr   ztProvides-Dist: SillyWalks
Provides-Dist: SpanishInquisition; sys.platform == 'os2'
Provides-Dist: DeadlyJoke (3.1.4))r   z)SpanishInquisition; sys.platform == 'os2'r   r  re   s    r   .test_distribution_parse_Provides_Dist_multipler   ,  sg    e$$DJJ 4 5 5 5 	T   %
 %
 %
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zObsoletes-Dist: SillyWalksr   r?   r   r   rX   re   s    r   8test_distribution_parse_Obsoletes_Dist_single_no_versionr#  9  sF    e$$DJJ+,,,#$$666666r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z"Obsoletes-Dist: SillyWalks (<=1.3)r   r"  re   s    r   7test_distribution_parse_Obsoletes_Dist_single_w_versionr%  >  sH    e$$DJJ3444#$$)=(>>>>>>>r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z1Obsoletes-Dist: SillyWalks; sys.platform == 'os2'r  r"  re   s    r   :test_distribution_parse_Obsoletes_Dist_single_w_env_markerr'  C  sH    e$$DJJBCCC#$$)L(MMMMMMMr   c                      t          d          } |                     d           t          | j                  g dk    sJ d S )Nr   znObsoletes-Dist: kniggits
Obsoletes-Dist: SillyWalks; sys.platform == 'os2'
Obsoletes-Dist: DeadlyJoke (<=2.0)
)r   r  zDeadlyJoke (<=2.0)r"  re   s    r   /test_distribution_parse_Obsoletes_Dist_multipler)  H  sg    e$$DJJ 7   
 	T !! &
 &
 &
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   z7Project-URL: Bug tracker, http://bugs.example.com/grail*Bug tracker, http://bugs.example.com/grailr?   r   r   rY   re   s    r   5test_distribution_parse_Project_URL_single_no_versionr-  V  sT    e$$DJJHIIIT	56	7 	7 	7 	7 	7 	7r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   zmProject-URL: Bug tracker, http://bugs.example.com/grail
Project-URL: Repository, http://svn.example.com/grailr+  z(Repository, http://svn.example.com/grailr,  re   s    r   ,test_distribution_parse_Project_URL_multipler/  ^  sg    e$$DJJ H I I I 	T86$
 	
 	
 	
 	
 	
 	
r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zProvides-Extra: pdfpdfr?   r   r   rZ   re   s    r   -test_distribution_parse_Provides_Extra_singler3  j  sF    e$$DJJ$%%%$%%%000000r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   z'Provides-Extra: pdf
Provides-Extra: texr1  texr2  re   s    r   /test_distribution_parse_Provides_Extra_multipler6  o  sP    e$$DJJ & ' ' '$%%%777777r   c                  h    t          d          } |                     d           | j        dk    sJ d S )Nr   z$Description-Content-Type: text/plainz
text/plain)r?   r   r[   re   s    r   8test_distribution_parse_Distribution_Content_Type_singler8  u  s<    e$$DJJ5666(L888888r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr   zDynamic: Platforms	Platformsr?   r   r   r\   re   s    r   &test_distribution_parse_Dynamic_singler<  {  sE    e$$DJJ#$$$+......r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr   z/Dynamic: Platforms
Dynamic: Supported-Platformsr:  zSupported-Platformsr;  re   s    r   (test_distribution_parse_Dynamic_multipler>    sQ    e$$DJJ . / / /+/D!EEEEEEEr   c                  h    t          d          } |                     d           | j        dk    sJ d S )N2.4zLicense-Expression: MITMIT)r?   r   license_expressionre   s    r   1test_distribution_parse_License_Expression_singlerC    s<    e$$DJJ()))"e++++++r   c                      t          d          } |                     d           t          | j                  dgk    sJ d S )Nr@  zLicense-File: LICENSE.txtLICENSE.txtr?   r   r   license_filere   s    r   +test_distribution_parse_License_File_singlerH    sF    e$$DJJ*+++!""}o555555r   c                      t          d          } |                     d           t          | j                  ddgk    sJ d S )Nr@  z8License-File: LICENSE.txt
License-File: docs/LICENSE.rstrE  zdocs/LICENSE.rstrF  re   s    r   -test_distribution_parse_License_File_multiplerJ    sR    e$$DJJ 0 1 1 1!""}6H&IIIIIIIr   )r:   )Vrx   ra   r   r   r   r   r!   r%   r'   r+   r-   r2   r4   r7   r9   r?   r^   rf   rj   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r	  r  r  r  r  r  r  r  r  r  r   r#  r%  r'  r)  r-  r/  r3  r6  r8  r<  r>  rC  rH  rJ  rA   r   r   <module>rK     s6                  3 3 3; ; ;3 3 30 0 0 0 0 0&! ! !) ) )$ $ $$ $ $$   " " "H    6 6 6. . .2 2 2< < <: : :: : :: : :: : :: : :: : :+ + +* * *
! ! !
% % %
- - -
4 4 4
7 7 7
J J J- - -
  	 	 	  * * *
: : :
- - -
6 6 6
$ $ $= = =
L L LO O O9 9 9
A A A
  1 1 1
7 7 7
G G G2 2 2
: : :
F F F1 1 1
: : :
* * *
6 6 6
> > >
  > > >
F F F
    6 6 6
< < <
M M M
  7 7 7
? ? ?
N N N
    	 	 	1 1 1
8 8 89 9 9/ / /
F F F, , ,
6 6 6
J J J J Jr   