
    dK                     Z    d dl Z  G d de j                  Z G d de j                  ZdS )    Nc                   ,    e Zd Zd Zd Zd Zd Zd ZdS )Test__must_decodec                 $    ddl m}  ||          S )Nr   )_must_decode)pkginfo.distributionr   )selfargr   s      ?lib/python3.11/site-packages/pkginfo/tests/test_distribution.py_callFUTzTest__must_decode._callFUT   s$    555555|C       c                     d}|                     d          }|                     |          }|                     ||           d S )N   Ézlatin-1encoder   assertEqualr   	TO_ENCODEencodeddecodeds       r
   test_w_bytes_latin1z%Test__must_decode.test_w_bytes_latin1	   sG    	""9----((),,,,,r   c                     d}|                     d          }|                     |          }|                     ||           d S )Nr   zutf-8r   r   s       r
   test_w_bytes_utf8z#Test__must_decode.test_w_bytes_utf8   sG    	""7++--((),,,,,r   c                 `    d}|                      |          }|                     ||           d S )Nr   )r   r   r   ARGr   s      r
   test_w_unicodez Test__must_decode.test_w_unicode   s4    --$$#&&&&&r   c                 x    t                      }|                     |          }|                     ||           d S N)objectr   assertIsr   s      r
   test_w_objectzTest__must_decode.test_w_object   s6    hh--$$gs#####r   N)__name__
__module____qualname__r   r   r   r   r!    r   r
   r   r      s_        ! ! !- - -- - -' ' '
$ $ $ $ $r   r   c                      e Zd Zd ZdDd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# Z$d$ Z%d% Z&d& Z'd' Z(d( Z)d) Z*d* Z+d+ Z,d, Z-d- Z.d. Z/d/ Z0d0 Z1d1 Z2d2 Z3d3 Z4d4 Z5d5 Z6d6 Z7d7 Z8d8 Z9d9 Z:d: Z;d; Z<d< Z=d= Z>d> Z?d? Z@d@ ZAdA ZBdB ZCdCS )EDistributionTestsc                     ddl m} |S )Nr   )Distribution)r   r)   )r   r)   s     r
   _getTargetClassz!DistributionTests._getTargetClass!   s    555555r   1.0c                 P     |                                              }|||_        |S r   )r*   metadata_version)r   r-   dists      r
   _makeOnezDistributionTests._makeOne%   s0    %t##%%'' 	5$4D!r   c                    |                      d           }|                     |j        d            |                     |j        d            |                     |j        d            |                     |j        d           |                     |j        d           |                     |j        d            |                     |j        d            |                     |j	        d            |                     |j
        d            |                     |j        d            |                     |j        d            |                     |j        d            |                     |j        d            |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d            |                     |j        d            |                     |j        d            |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d           |                     |j        d            |                     |j        d           d S )Nr%   )r/   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)r   sdists     r
   test_ctor_defaultsz$DistributionTests.test_ctor_defaults+   s   d##/666T***---"---2B777---*D111...$///+T222t,,,+T222---*B///,,,,,,"---)4000/666.5550"555,b111,b111-r222+R000.3337>>>+++++r   c                 p    |                      d           }|                     t          |j                   d S r   )r/   assertRaisesNotImplementedErrorextractMetadatar   r.   s     r
   /test_extractMetadata_raises_NotImplementedErrorzADistributionTests.test_extractMetadata_raises_NotImplementedErrorO   s3    }}T""-t/CDDDDDr   c                 p    |                      d           }|                     t          |j                   d S r   )r/   rO   rP   readrR   s     r
   $test_read_raises_NotImplementedErrorz6DistributionTests.test_read_raises_NotImplementedErrorT   s2    }}T""-ty99999r   c                 X    |                                  }|                    d           d S )Nz'Metadata-Version: 1.0
Name: lp722928_c3)r/   parserR   s     r
   test_parse_given_unicodez*DistributionTests.test_parse_given_unicodeY   s(    }}

>?????r   c                     ddl m} |                     d           }|                    d           |                     |j        d           |                     t          |          d |D                        d S )Nr   )HEADER_ATTRS_1_0Metadata-Version: 1.0r+   c                     g | ]
}|d          S    r%   .0xs     r
   
<listcomp>zEDistributionTests.test_parse_Metadata_Version_1_0.<locals>.<listcomp>c       9991!A$999r   )r   r[   r/   rX   r   r-   list)r   r[   r.   s      r
   test_parse_Metadata_Version_1_0z1DistributionTests.test_parse_Metadata_Version_1_0]       999999}}T""

*+++.666d99(8999	; 	; 	; 	; 	;r   c                     ddl m} |                     d           }|                    d           |                     |j        d           |                     t          |          d |D                        d S )Nr   )HEADER_ATTRS_1_1zMetadata-Version: 1.11.1c                     g | ]
}|d          S r^   r%   r`   s     r
   rc   zEDistributionTests.test_parse_Metadata_Version_1_1.<locals>.<listcomp>k   rd   r   )r   ri   r/   rX   r   r-   re   )r   ri   r.   s      r
   test_parse_Metadata_Version_1_1z1DistributionTests.test_parse_Metadata_Version_1_1e   rg   r   c                     ddl m} |                     d           }|                    d           |                     |j        d           |                     t          |          d |D                        d S )Nr   )HEADER_ATTRS_1_2zMetadata-Version: 1.21.2c                     g | ]
}|d          S r^   r%   r`   s     r
   rc   zEDistributionTests.test_parse_Metadata_Version_1_2.<locals>.<listcomp>s   rd   r   )r   rn   r/   rX   r   r-   re   )r   rn   r.   s      r
   test_parse_Metadata_Version_1_2z1DistributionTests.test_parse_Metadata_Version_1_2m   rg   r   c                     ddl m} |                     d           }|                    d           |                     |j        d           |                     t          |          d |D                        d S )Nr   )HEADER_ATTRS_2_1zMetadata-Version: 2.12.1c                     g | ]
}|d          S r^   r%   r`   s     r
   rc   zEDistributionTests.test_parse_Metadata_Version_2_1.<locals>.<listcomp>{   rd   r   )r   rs   r/   rX   r   r-   re   )r   rs   r.   s      r
   test_parse_Metadata_Version_2_1z1DistributionTests.test_parse_Metadata_Version_2_1u   rg   r   c                     ddl m} |                     d           }|                    d           |                     |j        d           |                     t          |          d |D                        d S )Nr   )HEADER_ATTRS_2_2zMetadata-Version: 2.22.2c                     g | ]
}|d          S r^   r%   r`   s     r
   rc   zEDistributionTests.test_parse_Metadata_Version_2_2.<locals>.<listcomp>   rd   r   )r   rx   r/   rX   r   r-   re   )r   rx   r.   s      r
   test_parse_Metadata_Version_2_2z1DistributionTests.test_parse_Metadata_Version_2_2}   rg   r   c                     |                      d           }|                    d           |                     |j        d           |                     t	          |          g            d S )NzMetadata-Version: 1.3z1.3)r/   rX   r   r-   re   rR   s     r
   #test_parse_Metadata_Version_unknownz5DistributionTests.test_parse_Metadata_Version_unknown   sa    }}T""

*+++.666dR(((((r   c                     |                      d          }|                    d           |                     |j        d           d S )Nro   r\   )r/   rX   r   r-   rR   s     r
   $test_parse_Metadata_Version_overridez6DistributionTests.test_parse_Metadata_Version_override   sE    }}U##

*+++.66666r   c                     |                                  }|                    d           |                     |j        d           d S )NzName: foobarfoobar)r/   rX   r   r1   rR   s     r
   test_parse_Namez!DistributionTests.test_parse_Name   s?    }}

>"""H-----r   c                     |                                  }|                    d           |                     |j        d           d S )NzVersion: 2.1.3b5z2.1.3b5)r/   rX   r   r2   rR   s     r
   test_parse_Versionz$DistributionTests.test_parse_Version   s@    }}

%&&&y11111r   c                     |                                  }|                    d           |                     t          |j                  dg           d S )NzPlatform: Plan9Plan9r/   rX   r   re   r3   rR   s     r
   test_parse_Platform_singlez,DistributionTests.test_parse_Platform_single   sJ    }}

$%%%dn--y99999r   c                     |                                  }|                    d           |                     t          |j                  ddg           d S )NzPlatform: Plan9
Platform: AIXr   AIXr   rR   s     r
   test_parse_Platform_multiplez.DistributionTests.test_parse_Platform_multiple   sM    }}

3444dn--/?@@@@@r   c                     |                                  }|                    d           |                     t          |j                  dg           d S )NzSupported-Platform: Plan9r   r/   rX   r   re   r4   rR   s     r
   $test_parse_Supported_Platform_singlez6DistributionTests.test_parse_Supported_Platform_single   sK    }}

.///d677'CCCCCr   c                     |                                  }|                    d           |                     t          |j                  ddg           d S )Nz=Supported-Platform: i386-win32
Supported-Platform: RedHat 7.2z
i386-win32z
RedHat 7.2r   rR   s     r
   &test_parse_Supported_Platform_multiplez8DistributionTests.test_parse_Supported_Platform_multiple   sa    }}

 4 	5 	5 	5d677%|4	6 	6 	6 	6 	6r   c                     |                                  }|                    d           |                     |j        d           d S )NzSummary: Package for foozPackage for foo)r/   rX   r   r5   rR   s     r
   test_parse_Summaryz$DistributionTests.test_parse_Summary   sA    }}

-...'899999r   c                     |                                  }|                    d           |                     |j        d           d S )Nz?Description: This package enables integration with foo servers.z2This package enables integration with foo servers.r/   rX   r   r6   rR   s     r
   test_parse_Descriptionz(DistributionTests.test_parse_Description   sV    }}

 " 	# 	# 	#)(	) 	) 	) 	) 	)r   c                     |                                  }|                    d           |                     |j        d           d S )NzGDescription: This package enables integration with
        foo servers.2This package enables integration with
foo servers.r   rR   s     r
    test_parse_Description_multilinez2DistributionTests.test_parse_Description_multiline   sV    }}

 * 	+ 	+ 	+)(	) 	) 	) 	) 	)r   c                     |                                  }|                    d           |                     |j        d           d S )Nz<Foo: Bar

This package enables integration with
foo servers.r   r   rR   s     r
   !test_parse_Description_in_payloadz3DistributionTests.test_parse_Description_in_payload   sX    }}

 " 	# 	# 	# 	)(	) 	) 	) 	) 	)r   c                     |                                  }|                    d           |                     |j        d           d S )NzKeywords: bar foo quxzbar foo qux)r/   rX   r   r7   rR   s     r
   test_parse_Keywordsz%DistributionTests.test_parse_Keywords   s@    }}

*+++66666r   c                     |                                  }|                    d           |                     |j        d           d S )Nz%Home-page: http://example.com/packagezhttp://example.com/package)r/   rX   r   r8   rR   s     r
   test_parse_Home_pagez&DistributionTests.test_parse_Home_page   sA    }}

:;;;)EFFFFFr   c                     |                                  }|                    d           |                     |j        d           d S )NzAuthor: J. Phredd BloggsJ. Phredd Bloggs)r/   rX   r   r:   rR   s     r
   test_parse_Authorz#DistributionTests.test_parse_Author   sA    }}

-...&899999r   c                     |                                  }|                    d           |                     |j        d           d S )Nz!Author-email: phreddy@example.comphreddy@example.com)r/   rX   r   r;   rR   s     r
   test_parse_Author_Emailz)DistributionTests.test_parse_Author_Email   sB    }}

6777*,ABBBBBr   c                     |                                  }|                    d           |                     |j        d           d S )NzLicense: PoeticPoetic)r/   rX   r   r<   rR   s     r
   test_parse_Licensez$DistributionTests.test_parse_License   s@    }}

$%%%x00000r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zClassifier: Some :: Silly ThingSome :: Silly Thingr/   rX   r   re   r=   rR   s     r
   test_parse_Classifier_singlez.DistributionTests.test_parse_Classifier_single   sQ    }}U##

4555d.//2G1HIIIIIr   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nrj   z7Classifier: Some :: Silly Thing
Classifier: Or :: Otherr   zOr :: Otherr   rR   s     r
   test_parse_Classifier_multiplez0DistributionTests.test_parse_Classifier_multiple   sj    }}U##

 - 	. 	. 	.d.///?	A 	A 	A 	A 	Ar   c                     |                      d          }|                    d           |                     |j        d           d S )Nrj   z:Download-URL: http://example.com/package/mypackage-0.1.zipz,http://example.com/package/mypackage-0.1.zip)r/   rX   r   r9   rR   s     r
   test_parse_Download_URLz)DistributionTests.test_parse_Download_URL   sa    }}U##

 B 	C 	C 	C*G	I 	I 	I 	I 	Ir   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zRequires: SpanishInquisitionSpanishInquisitionr/   rX   r   re   r>   rR   s     r
   %test_parse_Requires_single_wo_versionz7DistributionTests.test_parse_Requires_single_wo_version   sP    }}U##

1222dm,,/C.DEEEEEr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   z$Requires: SpanishInquisition (>=1.3)SpanishInquisition (>=1.3)r   rR   s     r
   $test_parse_Requires_single_w_versionz6DistributionTests.test_parse_Requires_single_w_version  sP    }}U##

9:::dm,,/K.LMMMMMr   c                     |                      d          }|                    d           |                     t          |j                  g d           d S )Nrj   zWRequires: SpanishInquisition
Requires: SillyWalks (1.4)
Requires: kniggits (>=2.3,<3.0))r   SillyWalks (1.4)kniggits (>=2.3,<3.0)r   rR   s     r
   test_parse_Requires_multiplez.DistributionTests.test_parse_Requires_multiple  sm    }}U##

 5 	6 	6 	6 	dm,,  	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zProvides: SillyWalks
SillyWalksr/   rX   r   re   r?   rR   s     r
   %test_parse_Provides_single_wo_versionz7DistributionTests.test_parse_Provides_single_wo_version  sN    }}U##

)***dm,,|n=====r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zProvides: SillyWalks (1.4)r   r   rR   s     r
   $test_parse_Provides_single_w_versionz6DistributionTests.test_parse_Provides_single_w_version  sP    }}U##

/000dm,,/A.BCCCCCr   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nrj   z1Provides: SillyWalks
Provides: DeadlyJoke (3.1.4)r   DeadlyJoke (3.1.4)r   rR   s     r
   test_parse_Provides_multiplez.DistributionTests.test_parse_Provides_multiple  sg    }}U##

 2 	3 	3 	3dm,,&.	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zObsoletes: SillyWalksr   r/   rX   r   re   r@   rR   s     r
   &test_parse_Obsoletes_single_no_versionz8DistributionTests.test_parse_Obsoletes_single_no_version$  sN    }}U##

*+++dn--~>>>>>r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrj   zObsoletes: SillyWalks (<=1.3)SillyWalks (<=1.3)r   rR   s     r
   %test_parse_Obsoletes_single_w_versionz7DistributionTests.test_parse_Obsoletes_single_w_version)  sP    }}U##

2333dn--0D/EFFFFFr   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nrj   z1Obsoletes: kniggits
Obsoletes: SillyWalks (<=2.0)kniggitszSillyWalks (<=2.0)r   rR   s     r
   test_parse_Obsoletes_multiplez/DistributionTests.test_parse_Obsoletes_multiple.  sg    }}U##

 3 	4 	4 	4dn--$.	 	 	 	 	r   c                     |                      d          }|                    d           |                     |j        d           d S )Nro   r-   zMaintainer: J. Phredd Bloggsr   )r/   rX   r   rA   rR   s     r
   test_parse_Maintainerz'DistributionTests.test_parse_Maintainer9  sG    }}e}44

1222*<=====r   c                     |                      d          }|                    d           |                     |j        d           d S )Nro   r   z%Maintainer-email: phreddy@example.comr   )r/   rX   r   rB   rR   s     r
   test_parse_Maintainer_Emailz-DistributionTests.test_parse_Maintainer_Email>  sH    }}e}44

:;;;.0EFFFFFr   c                     |                      d          }|                    d           |                     |j        d           d S )Nro   zRequires-Python: >2.4z>2.4)r/   rX   r   rC   rR   s     r
   &test_parse_Requires_Python_single_specz8DistributionTests.test_parse_Requires_Python_single_specC  sE    }}U##

*+++-v66666r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   zRequires-External: libfoolibfoor/   rX   r   re   rD   rR   s     r
   .test_parse_Requires_External_single_wo_versionz@DistributionTests.test_parse_Requires_External_single_wo_versionH  sO    }}U##

.///d455zBBBBBr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z!Requires-External: libfoo (>=1.3)zlibfoo (>=1.3)r   rR   s     r
   -test_parse_Requires_External_single_w_versionz?DistributionTests.test_parse_Requires_External_single_w_versionM  sQ    }}U##

6777d4558H7IJJJJJr   c                     |                      d          }|                    d           |                     t          |j                  g d           d S )Nro   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   rR   s     r
   %test_parse_Requires_External_multiplez7DistributionTests.test_parse_Requires_External_multipleR  sn    }}U##

 < 	= 	= 	= 	d455  	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z!Requires-Dist: SpanishInquisitionr   r/   rX   r   re   rE   rR   s     r
   *test_parse_Requires_Dist_single_wo_versionz<DistributionTests.test_parse_Requires_Dist_single_wo_version^  sQ    }}U##

6777d0114H3IJJJJJr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z)Requires-Dist: SpanishInquisition (>=1.3)r   r   rR   s     r
   )test_parse_Requires_Dist_single_w_versionz;DistributionTests.test_parse_Requires_Dist_single_w_versionc  s[    }}U##

>???d01167	9 	9 	9 	9 	9r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z:Requires-Dist: SpanishInquisition; python_version == '1.4'z+SpanishInquisition; python_version == '1.4'r   rR   s     r
   ,test_parse_Requires_Dist_single_w_env_markerz>DistributionTests.test_parse_Requires_Dist_single_w_env_markeri  sh    }}U##

 2 	3 	3 	3d011GH	J 	J 	J 	J 	Jr   c                     |                      d          }|                    d           |                     t          |j                  g d           d S )Nro   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   rR   s     r
   !test_parse_Requires_Dist_multiplez3DistributionTests.test_parse_Requires_Dist_multiplep  sn    }}U##

 : 	; 	; 	; 	d011  	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   zProvides-Dist: SillyWalksr   r/   rX   r   re   rF   rR   s     r
   *test_parse_Provides_Dist_single_wo_versionz<DistributionTests.test_parse_Provides_Dist_single_wo_version{  sO    }}U##

.///d011L>BBBBBr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   zProvides-Dist: SillyWalks (1.4)r   r   rR   s     r
   )test_parse_Provides_Dist_single_w_versionz;DistributionTests.test_parse_Provides_Dist_single_w_version  sQ    }}U##

4555d0114F3GHHHHHr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z0Provides-Dist: SillyWalks; sys.platform == 'os2'!SillyWalks; sys.platform == 'os2'r   rR   s     r
   ,test_parse_Provides_Dist_single_w_env_markerz>DistributionTests.test_parse_Provides_Dist_single_w_env_marker  s`    }}U##

EFFFd011=>	@ 	@ 	@ 	@ 	@r   c                     |                      d          }|                    d           |                     t          |j                  g d           d S )Nro   ztProvides-Dist: SillyWalks
Provides-Dist: SpanishInquisition; sys.platform == 'os2'
Provides-Dist: DeadlyJoke (3.1.4))r   z)SpanishInquisition; sys.platform == 'os2'r   r   rR   s     r
   !test_parse_Provides_Dist_multiplez3DistributionTests.test_parse_Provides_Dist_multiple  sn    }}U##

 7 	8 	8 	8 	d011  	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   zObsoletes-Dist: SillyWalksr   r/   rX   r   re   rG   rR   s     r
   +test_parse_Obsoletes_Dist_single_no_versionz=DistributionTests.test_parse_Obsoletes_Dist_single_no_version  sO    }}U##

/000d122\NCCCCCr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z"Obsoletes-Dist: SillyWalks (<=1.3)r   r   rR   s     r
   *test_parse_Obsoletes_Dist_single_w_versionz<DistributionTests.test_parse_Obsoletes_Dist_single_w_version  sQ    }}U##

7888d1225I4JKKKKKr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z1Obsoletes-Dist: SillyWalks; sys.platform == 'os2'r   r   rR   s     r
   -test_parse_Obsoletes_Dist_single_w_env_markerz?DistributionTests.test_parse_Obsoletes_Dist_single_w_env_marker  s`    }}U##

FGGGd122=>	@ 	@ 	@ 	@ 	@r   c                     |                      d          }|                    d           |                     t          |j                  g d           d S )Nro   znObsoletes-Dist: kniggits
Obsoletes-Dist: SillyWalks; sys.platform == 'os2'
Obsoletes-Dist: DeadlyJoke (<=2.0)
)r   r   zDeadlyJoke (<=2.0)r   rR   s     r
   "test_parse_Obsoletes_Dist_multiplez4DistributionTests.test_parse_Obsoletes_Dist_multiple  sn    }}U##

 : 	 	 	 	d122  	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nro   z7Project-URL: Bug tracker, http://bugs.example.com/grail*Bug tracker, http://bugs.example.com/grailr/   rX   r   re   rH   rR   s     r
   (test_parse_Project_URL_single_no_versionz:DistributionTests.test_parse_Project_URL_single_no_version  s`    }}U##

LMMMd/00FG	I 	I 	I 	I 	Ir   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nro   zmProject-URL: Bug tracker, http://bugs.example.com/grail
Project-URL: Repository, http://svn.example.com/grailr   z(Repository, http://svn.example.com/grailr   rR   s     r
   test_parse_Project_URL_multiplez1DistributionTests.test_parse_Project_URL_multiple  sl    }}U##

 K 	L 	L 	Ld/00FD	 	 	 	 	r   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nrt   zProvides-Extra: pdfpdfr/   rX   r   re   rI   rR   s     r
    test_parse_Provides_Extra_singlez2DistributionTests.test_parse_Provides_Extra_single  sO    }}U##

()))d233eW=====r   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nrt   z'Provides-Extra: pdf
Provides-Extra: texr   texr   rR   s     r
   "test_parse_Provides_Extra_multiplez4DistributionTests.test_parse_Provides_Extra_multiple  sY    }}U##

 ) 	* 	* 	*d233eU^DDDDDr   c                     |                      d          }|                    d           |                     |j        d           d S )Nrt   z$Description-Content-Type: text/plainz
text/plain)r/   rX   r   rJ   rR   s     r
   +test_parse_Distribution_Content_Type_singlez=DistributionTests.test_parse_Distribution_Content_Type_single  sE    }}U##

9:::6EEEEEr   c                     |                      d          }|                    d           |                     t          |j                  dg           d S )Nry   zDynamic: Platforms	Platformsr/   rX   r   re   rK   rR   s     r
   test_parse_Dynamic_singlez+DistributionTests.test_parse_Dynamic_single  sN    }}U##

'(((dl++k];;;;;r   c                     |                      d          }|                    d           |                     t          |j                  ddg           d S )Nry   z/Dynamic: Platforms
Dynamic: Supported-Platformsr  zSupported-Platformsr	  rR   s     r
   test_parse_Dynamic_multiplez-DistributionTests.test_parse_Dynamic_multiple  se    }}U##

 2 	3 	3 	3dl++%'<=	? 	? 	? 	? 	?r   N)r+   )Dr"   r#   r$   r*   r/   rM   rS   rV   rY   rf   rl   rq   rv   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
   r'   r'      s:            ", ", ",HE E E
: : :
@ @ @; ; ;; ; ;; ; ;; ; ;; ; ;) ) )7 7 7
. . .
2 2 2
: : :
A A A
D D D
6 6 6: : :
) ) )) ) )) ) )7 7 7
G G G
: : :
C C C
1 1 1J J J
A A AI I IF F F
N N N
	 	 	> > >
D D D
  ? ? ?
G G G
  > > >
G G G
7 7 7
C C C
K K K
	 	 	K K K
9 9 9J J J	 	 	C C C
I I I
@ @ @	 	 	D D D
L L L
@ @ @
 
 
I I I  > > >
E E EF F F< < <
? ? ? ? ?r   r'   )unittestTestCaser   r'   r%   r   r
   <module>r     s|    $ $ $ $ $) $ $ $8~? ~? ~? ~? ~?) ~? ~? ~? ~? ~?r   