§
     Mºf¥M  ã                   óŽ  — d Z ddlmZ ddlZddlZddlZddlZddlZddlZddl	m
Z
mZmZmZmZ ddlmZmZmZ ddlmZmZmZmZmZ ddlmZmZmZ ddlZ G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ de¦  «        Z" G d„ de¦  «        Z# G d„ de¦  «        Z$ G d„ de¦  «        Z%dS )z#Tests of Beautiful Soup as a whole.é    )Ú	set_traceN)ÚBeautifulSoupÚBeautifulStoneSoupÚGuessedAtParserWarningÚMarkupResemblesLocatorWarningÚdammit)Úbuilder_registryÚTreeBuilderÚParserRejectedMarkup)ÚCommentÚSoupStrainerÚPYTHON_SPECIFIC_ENCODINGSÚTagÚNavigableStringé   )Údefault_builderÚLXML_PRESENTÚSoupTestc                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestConstructorc                 óX   — d}|                       |¦  «        }d|j        j        k    sJ ‚d S )Nu   <h1>Ã©Ã©</h1>u   Ã©Ã©©ÚsoupÚh1Ústring©ÚselfÚdatar   s      úR/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/bs4/tests/test_soup.pyÚtest_short_unicode_inputz(TestConstructor.test_short_unicode_input)   s1   € ØˆØ�yŠy˜‰ŒˆØ˜œœÒ'Ð'Ð'Ð'Ð'Ð'ó    c                 óX   — d}|                       |¦  «        }d|j        j        k    sJ ‚d S )Nz<h1>foo bar</h1>zfoo barr   r   s      r   Útest_embedded_nullz"TestConstructor.test_embedded_null.   s1   € Ø"ˆØ�yŠy˜‰ŒˆØ˜TœWœ^Ò+Ð+Ð+Ð+Ð+Ð+r!   c                 óz   — d                      d¦  «        }|                      |dg¬¦  «        }d|j        k    sJ ‚d S )Nu   RÃ¤ksmÃ¶rgÃ¥súutf-8)Úexclude_encodingszwindows-1252)Úencoder   Úoriginal_encoding)r   Ú	utf8_datar   s      r   Útest_exclude_encodingsz&TestConstructor.test_exclude_encodings3   sF   € Ø#×*Ò*¨7Ñ3Ô3ˆ	Ø�yŠy˜°w°iˆyÑ@Ô@ˆØ Ô!7Ò7Ð7Ð7Ð7Ð7Ð7r!   c                 óz  —  G d„ dt           ¦  «        }t          dd¬¦  «        }t          j        d¬¦  «        5  t	          dd|i|¤Ž}d d d ¦  «         n# 1 swxY w Y   t          |j        |¦  «        sJ ‚t          d¬	¦  «        |j        j        k    sJ ‚d
|j        j        k    sJ ‚ |di |¤Ž}t          j        d¬¦  «        5 }t	          d|d¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d         j
        ¦  «        }|                     d¦  «        sJ ‚||j        k    sJ ‚||j        k    sJ ‚d S )Nc                   ó:   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZexZZ	d„ Z
dS )ú7TestConstructor.test_custom_builder_class.<locals>.Mockc                 óZ   — || _         d| _        d| _        g | _        g | _        i | _        d S )NTF)Úcalled_withÚis_xmlÚstore_line_numbersÚcdata_list_attributesÚpreserve_whitespace_tagsÚstring_containers)r   Úkwargss     r   Ú__init__z@TestConstructor.test_custom_builder_class.<locals>.Mock.__init__<   s7   € Ø#)�Ô Ø"�”Ø*/�Ô'Ø-/�Ô*Ø02�Ô-Ø)+�Ô&Ð&Ð&r!   c                 ó   — d S ©N© ©r   r   s     r   Úinitialize_soupzGTestConstructor.test_custom_builder_class.<locals>.Mock.initialize_soupC   ó   € Ø�r!   c                 ó   — || _         d S r8   )Úfed)r   Úmarkups     r   Úfeedz<TestConstructor.test_custom_builder_class.<locals>.Mock.feedE   s   € Ø!�”��r!   c                 ó   — d S r8   r9   ©r   s    r   Úresetz=TestConstructor.test_custom_builder_class.<locals>.Mock.resetG   r<   r!   c                 ó   — d S r8   r9   )r   Úignores     r   rE   z>TestConstructor.test_custom_builder_class.<locals>.Mock.ignoreI   r<   r!   c              ?   ó   K  — dV — d S )N)úprepared markupzoriginal encodingzdeclared encodingzcontains replacement charactersr9   ©r   Úargsr5   s      r   Úprepare_markupzFTestConstructor.test_custom_builder_class.<locals>.Mock.prepare_markupL   s   è è € ØtÐtÐtÐtÐtÐtr!   N)Ú__name__Ú
__module__Ú__qualname__r6   r;   r@   rC   rE   Úset_up_substitutionsÚcan_be_empty_elementrJ   r9   r!   r   ÚMockr-   ;   s   € € € € € ð,ð ,ð ,ðð ð ð"ð "ð "ðð ð ðð ð à:@Ð@Ð Ð#7ðuð uð uð uð ur!   rP   ÚvalueT)ÚvarÚconvertEntities©ÚrecordÚ Úbuilder)rR   rG   )rW   Úignored_valuer   zCKeyword arguments to the BeautifulSoup constructor will be ignored.)rV   r9   )ÚobjectÚdictÚwarningsÚcatch_warningsr   Ú
isinstancerW   r/   r>   ÚstrÚmessageÚ
startswith)r   rP   r5   r   rW   ÚwÚmsgs          r   Útest_custom_builder_classz)TestConstructor.test_custom_builder_class8   s  € ð	uð 	uð 	uð 	uð 	u•6ñ 	uô 	uð 	uõ( Øð !ð	
ñ 
ô 
ˆõ Ô$¨DÐ1Ñ1Ô1ð 	=ð 	=Ý Ð<Ð<¨TÐ<°VÐ<Ð<ˆDð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=å˜$œ,¨Ñ-Ô-Ð-Ð-Ð-Ý˜Ð Ñ Ô  D¤LÔ$<Ò<Ð<Ð<Ð<Ø  D¤LÔ$4Ò4Ð4Ð4Ð4ð
 �$�.�.˜�.�.ˆÝÔ$¨DÐ1Ñ1Ô1ð 	°QÝ Ø˜G°4ðñ ô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ �!�A”$”,ÑÔˆØ�~Š~ÐcÑdÔdÐdÐdÐdØ˜$œ,Ò&Ð&Ð&Ð&Ø˜Ô,Ò,Ð,Ð,Ð,Ð,Ð,s#   ºAÁAÁAÃC%Ã%C)Ã,C)c                 óî   —  G d„ dt           ¦  «        }d„ }dd l}t          j        t          ¦  «        5 }t          d|¬¦  «         d d d ¦  «         n# 1 swxY w Y   dt          |j        ¦  «        v sJ ‚d S )Nc                   ó   — e Zd Zd„ ZdS )ú:TestConstructor.test_parser_markup_rejection.<locals>.Mockc                 ó    — t          d¦  «        ‚)NzNope.)r   rH   s      r   r@   z?TestConstructor.test_parser_markup_rejection.<locals>.Mock.feedl   s   € Ý*¨7Ñ3Ô3Ð3r!   N)rK   rL   rM   r@   r9   r!   r   rP   rf   k   s#   € € € € € ð4ð 4ð 4ð 4ð 4r!   rP   c              ?   ó>   K  — t           d d dfV — t           d d dfV — d S )NF)r?   rH   s      r   rJ   zDTestConstructor.test_parser_markup_rejection.<locals>.prepare_markupo   s8   è è € õ ˜$  eÐ+Ð+Ð+Ð+Ý˜$  eÐ+Ð+Ð+Ð+Ð+Ð+r!   r   rV   )rW   zoThe markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.)r
   ÚreÚpytestÚraisesr   r   r^   rQ   )r   rP   rJ   ri   Úexc_infos        r   Útest_parser_markup_rejectionz,TestConstructor.test_parser_markup_rejectionh   s	  € ð	4ð 	4ð 	4ð 	4ð 	4•;ñ 	4ô 	4ð 	4ð	,ð 	,ð 	,ð 	ˆ	ˆ	ˆ	ÝŒ]Õ/Ñ0Ô0ð 	,°HÝ˜" dÐ+Ñ+Ô+Ð+ð	,ð 	,ð 	,ñ 	,ô 	,ð 	,ð 	,ð 	,ð 	,ð 	,ð 	,øøøð 	,ð 	,ð 	,ð 	,ð Aõ  EHð  IQô  IWñ  EXô  EXð  Xð  Xð  Xð  Xð  Xð  Xs   ´AÁAÁAc                 óÈ  — d}|                       |¦  «        }|j        }d|d         k    sJ ‚ddg|d         k    sJ ‚|                       |t          d ¬¦  «        }d|j        d         k    sJ ‚ddiddifD ]l}t          j        d	¬
¦  «        5 }|                       |d |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |j        }ddg|d         k    sJ ‚d|d         k    sJ ‚Œmd S )Nz&<a id=" an id " class=" a class "></a>z an id ÚidÚaÚclass)rW   Úmulti_valued_attributesz	 a class Ú*TrT   Úan)r   rp   r   r[   r\   )r   r?   r   rp   Ú
switcheroora   s         r   Útest_cdata_list_attributesz*TestConstructor.test_cdata_list_attributes{   ss  € ð :ˆØ�yŠy˜Ñ Ô ˆð ŒFˆØ˜A˜dœGÒ#Ð#Ð#Ð#Ø�Wˆ~  7¤Ò+Ð+Ð+Ð+ð
 �yŠy˜­ÐRVˆyÑWÔWˆØ˜dœf WœoÒ-Ð-Ð-Ð-ð   ˜;¨¨d¨Ð4ð 	-ð 	-ˆJÝÔ(°Ð5Ñ5Ô5ð [¸ð —y’y °Èz�yÑZÔZ�ð[ð [ð [ñ [ô [ð [ð [ð [ð [ð [ð [øøøð [ð [ð [ð [ð ”ˆAØ˜$�< 1 T¤7Ò*Ð*Ð*Ð*Ø ! G¤*Ò,Ð,Ð,Ð,Ð,ð	-ð 	-s   ÂB1Â1B5	Â8B5	c           	      ó8  ‡‡‡—  G d„ dt           ¦  «        Š G d„ dt          ¦  «        Š G d„ dt          ¦  «        Š|                      dt           ‰t          ‰t          ‰i¬¦  «        }t	          ˆˆˆfd	„|                     ¦   «         D ¦   «         ¦  «        sJ ‚d S )
Nc                   ó   — e Zd ZdS )ú9TestConstructor.test_replacement_classes.<locals>.TagPlusN©rK   rL   rM   r9   r!   r   ÚTagPlusry   ›   ó   € € € € € ØˆDr!   r{   c                   ó   — e Zd ZdS )ú<TestConstructor.test_replacement_classes.<locals>.StringPlusNrz   r9   r!   r   Ú
StringPlusr~   ž   r|   r!   r   c                   ó   — e Zd ZdS )ú=TestConstructor.test_replacement_classes.<locals>.CommentPlusNrz   r9   r!   r   ÚCommentPlusr�   ¡   r|   r!   r‚   z<a><b>foo</b>bar</a><!--whee-->)Úelement_classesc              3   ó>   •K  — | ]}t          |‰‰‰f¦  «        V — Œd S r8   )r]   )Ú.0Úxr‚   r   r{   s     €€€r   ú	<genexpr>z;TestConstructor.test_replacement_classes.<locals>.<genexpr>¯   sH   øè è € ð 
ð 
àõ �q˜7 J°Ð<Ñ=Ô=ð
ð 
ð 
ð 
ð 
ð 
r!   )r   r   r   r   ÚallÚrecursiveChildGenerator)r   r   r‚   r   r{   s     @@@r   Útest_replacement_classesz(TestConstructor.test_replacement_classes˜   s  øøø€ ð	ð 	ð 	ð 	ð 	•cñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	�'ñ 	ô 	ð 	ð �yŠyØ-å�WÝ Ý˜ðð ñ 
ô 
ˆõ ð 
ð 
ð 
ð 
ð 
ð 
à×1Ò1Ñ3Ô3ð
ñ 
ô 
ñ 
ô 
ð 	
ð 	
ð 	
ð 	
ð 	
r!   c                 ót  —  G d„ dt           ¦  «        } G d„ dt           ¦  «        }|                      d||dœ¬¦  «        }t          |j        j        d         t           ¦  «        sJ ‚t          |j        j        d         |¦  «        sJ ‚|j        j        D ]}t          ||¦  «        sJ ‚Œg |j        k    sJ ‚d S )	Nc                   ó   — e Zd ZdS )úATestConstructor.test_alternate_string_containers.<locals>.PStringNrz   r9   r!   r   ÚPStringr�   ·   r|   r!   rŽ   c                   ó   — e Zd ZdS )úATestConstructor.test_alternate_string_containers.<locals>.BStringNrz   r9   r!   r   ÚBStringr�   º   r|   r!   r‘   z4<div>Hello.<p>Here is <b>some <i>bolded</i></b> text)ÚbÚp)r4   r   )	r   r   r]   ÚdivÚcontentsr“   r’   ÚstringsÚstring_container_stack)r   rŽ   r‘   r   Úss        r   Ú test_alternate_string_containersz0TestConstructor.test_alternate_string_containers´   s  € ð	ð 	ð 	ð 	ð 	•oñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	•oñ 	ô 	ð 	ð �yŠyØBàØð!ð !ð ñ 
ô 
ˆõ ˜$œ(Ô+¨AÔ.µÑ@Ô@Ð@Ð@Ð@õ ˜$œ&œ/¨!Ô,¨gÑ6Ô6Ð6Ð6Ð6ð ””ð 	*ð 	*ˆAÝ˜a Ñ)Ô)Ð)Ð)Ð)Ð)ð �TÔ0Ò0Ð0Ð0Ð0Ð0Ð0r!   N)rK   rL   rM   r    r#   r*   rc   rm   rv   rŠ   r™   r9   r!   r   r   r   '   s�   € € € € € ð(ð (ð (ð
,ð ,ð ,ð
8ð 8ð 8ð
.-ð .-ð .-ð`Xð Xð Xð&-ð -ð -ð:
ð 
ð 
ð81ð 1ð 1ð 1ð 1r!   r   c                   óÄ   — e Zd Zej                             dddg¦  «        d„ ¦   «         Zej                             dd„ eD ¦   «         dgz   ¦  «        d„ ¦   «         Zd	„ Z	dS )
Ú
TestOutputz!eventual_encoding,actual_encoding)r%   r%   )úutf-16rœ   c                 ó~   — |                       d¦  «        }d|_        d|› d�|                     |¬¦  «        k    sJ ‚d S )Nú<tag></tag>Tz<?xml version="1.0" encoding="z"?>
<tag></tag>©Úeventual_encoding)r   r0   Údecode)r   r    Úactual_encodingr   s       r   Útest_decode_xml_declarationz&TestOutput.test_decode_xml_declarationØ   s`   € ð �yŠy˜Ñ'Ô'ˆØˆŒØR°ÐRÐRÐRØ—;’;Ð1B�;ÑCÔCòDð Dð Dð Dð Dð Dr!   r    c                 ó   — g | ]}|‘ŒS r9   r9   )r…   r†   s     r   ú
<listcomp>zTestOutput.<listcomp>é   s   € ÐCÐCÐC A˜aÐCÐCÐCr!   Nc                 ól   — t          dd¦  «        }d|_        d|                     |¬¦  «        k    sJ ‚d S )Nrž   úhtml.parserTz!<?xml version="1.0"?>
<tag></tag>rŸ   )r   r0   r¡   )r   r    r   s      r   ÚMtest_decode_xml_declaration_with_missing_or_python_internal_eventual_encodingzXTestOutput.test_decode_xml_declaration_with_missing_or_python_internal_eventual_encodingè   sS   € õ ˜]¨MÑ:Ô:ˆØˆŒØ5Ø—;’;Ð1B�;ÑCÔCòDð Dð Dð Dð Dð Dr!   c                 ó  — |                       d¦  «        }d|                     d¬¦  «        k    sJ ‚d|                     d¬¦  «        k    sJ ‚d|                     ¦   «         k    sJ ‚d|                     ¦   «         k    sJ ‚d S )Nrž   s   <tag></tag>r%   )Úencodingz<tag>
</tag>
)r   r'   Úencode_contentsÚdecode_contentsÚprettifyr:   s     r   ÚtestzTestOutput.testô   s’   € ð �yŠy˜Ñ'Ô'ˆØ §¢°g Ñ!>Ô!>Ò>Ð>Ð>Ð>Ø ×!5Ò!5¸wÐ!5Ñ!GÔ!GÒGÐGÐGÐGØ × 4Ò 4Ñ 6Ô 6Ò6Ð6Ð6Ð6Ø  D§M¢M¡O¤OÒ3Ð3Ð3Ð3Ð3Ð3r!   )
rK   rL   rM   rj   ÚmarkÚparametrizer£   r   r¨   r®   r9   r!   r   r›   r›   Ö   s±   € € € € € à„[×ÒØ+ØØ ð.
ñô ðEð Eñô ðEð „[×ÒØÐCÐCÐ)BÐCÑCÔCÀtÀfÑLñô ðEð Eñô ðEð4ð 4ð 4ð 4ð 4r!   r›   c                   óî   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                             d	g d
¢¦  «        d„ ¦   «         Zej                             d	g d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestWarningsc                 óŠ   — |D ]-}t          |j        |¦  «        r|j        t          k    sJ ‚|c S Œ.t	          |›d|›�¦  «        ‚)Nz warning not found in )r]   r_   ÚfilenameÚ__file__Ú	Exception)r   r[   Úclsra   s       r   Ú_assert_warningzTestWarnings._assert_warning  sa   € Øð 	ð 	ˆAÝ˜!œ) SÑ)Ô)ð Ø”z¥XÒ-Ð-Ð-Ð-Ø���ðõ ¸¸¸¸X¸XÐFÑGÔGÐGr!   c                 ó¶   — |                       |t          ¦  «        }t          |j        ¦  «        }|                     t
          j        d d…         ¦  «        sJ ‚d S )Né<   )r¸   r   r^   r_   r`   r   ÚNO_PARSER_SPECIFIED_WARNING)r   ra   Úwarningr_   s       r   Ú_assert_no_parser_specifiedz(TestWarnings._assert_no_parser_specified  sS   € Ø×&Ò& qÕ*@ÑAÔAˆÝ�g”oÑ&Ô&ˆØ×!Ò!¥-Ô"KÈCÈRÈCÔ"PÑQÔQÐQÐQÐQÐQÐQr!   c                 ó¨   — t          j        d¬¦  «        5 }t          d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S ©NTrT   ú<a><b></b></a>©r[   r\   r   r½   ©r   ra   r   s      r   Ú#test_warning_if_no_parser_specifiedz0TestWarnings.test_warning_if_no_parser_specified  s�   € ÝÔ$¨DÐ1Ñ1Ô1ð 	3°QÝ Ð!1Ñ2Ô2ˆDð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3à×(Ò(¨Ñ+Ô+Ð+Ð+Ð+s   –2²6¹6c                 óª   — t          j        d¬¦  «        5 }t          dd¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |¦  «         d S )NTrT   rÀ   ÚhtmlrÁ   rÂ   s      r   Ú*test_warning_if_parser_specified_too_vaguez7TestWarnings.test_warning_if_parser_specified_too_vague  s’   € ÝÔ$¨DÐ1Ñ1Ô1ð 	;°QÝ Ð!1°6Ñ:Ô:ˆDð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;à×(Ò(¨Ñ+Ô+Ð+Ð+Ð+s   –3³7º7c                 óš   — t          j        d¬¦  «        5 }|                      d¦  «        }d d d ¦  «         n# 1 swxY w Y   g |k    sJ ‚d S r¿   ©r[   r\   r   rÂ   s      r   Ú,test_no_warning_if_explicit_parser_specifiedz9TestWarnings.test_no_warning_if_explicit_parser_specified  s‹   € ÝÔ$¨DÐ1Ñ1Ô1ð 	/°QØ—9’9Ð-Ñ.Ô.ˆDð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/à�QŠwˆwˆwˆwˆwˆwó   –8¸<¿<c                 óH  — t          j        d¬¦  «        5 }t          ddt          d¦  «        ¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |t
          ¦  «        }t          |j        ¦  «        }d|v sJ ‚d|v sJ ‚d	|                     ¦   «         k    sJ ‚d S )
NTrT   rÀ   r§   r’   )ÚparseOnlyTheserÌ   Ú
parse_onlys   <b></b>)	r[   r\   r   r   r¸   ÚDeprecationWarningr^   r_   r'   )r   ra   r   r¼   rb   s        r   Ú)test_parseOnlyThese_renamed_to_parse_onlyz6TestWarnings.test_parseOnlyThese_renamed_to_parse_only"  sô   € ÝÔ$¨DÐ1Ñ1Ô1ð 	°QÝ Ø  -Ý+¨CÑ0Ô0ðñ ô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 ×&Ò& qÕ*<Ñ=Ô=ˆÝ�'”/Ñ"Ô"ˆØ 3Ð&Ð&Ð&Ð&Ø˜sÐ"Ð"Ð"Ð"Ø˜TŸ[š[™]œ]Ò*Ð*Ð*Ð*Ð*Ð*s   – AÁAÁ	Ac                 ó  — t          j        d¬¦  «        5 }d}t          |dd¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |t          ¦  «        }t          |j        ¦  «        }d|v sJ ‚d|v sJ ‚d|j        k    sJ ‚d S )	NTrT   s   Ã©r§   Úutf8)ÚfromEncodingrÒ   Úfrom_encoding)r[   r\   r   r¸   rÎ   r^   r_   r(   )r   ra   rÑ   r   r¼   rb   s         r   Ú*test_fromEncoding_renamed_to_from_encodingz7TestWarnings.test_fromEncoding_renamed_to_from_encoding.  së   € ÝÔ$¨DÐ1Ñ1Ô1ð 	°QØˆDÝ Ø�m°&ðñ ô ˆDð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð
 ×&Ò& qÕ*<Ñ=Ô=ˆÝ�'”/Ñ"Ô"ˆØ Ð$Ð$Ð$Ð$Ø #Ð%Ð%Ð%Ð%Ø˜Ô/Ò/Ð/Ð/Ð/Ð/Ð/s   –7·;¾;c                 ó˜   — t          j        t          ¦  «        5  |                      dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz<a>T)Úno_such_argument)rj   rk   Ú	TypeErrorr   rB   s    r   Ú"test_unrecognized_keyword_argumentz/TestWarnings.test_unrecognized_keyword_argument:  sŒ   € ÝŒ]�9Ñ%Ô%ð 	4ð 	4Ø�IŠI�e¨dˆIÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4ð 	4ð 	4s   š?¿AÁAÚ	extension)zmarkup.htmlz
markup.htmzmarkup.HTMLz
markup.txtzmarkup.xhtmlz
markup.xmlz/home/user/filezc:\userilec                 óð   — t          j        d¬¦  «        5 }t          d|z   d¦  «        }|                      |t          ¦  «        }dt          |j        ¦  «        v sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrT   r?   r§   zlooks more like a filename©r[   r\   r   r¸   r   r^   r_   )r   rÙ   ra   r   r¼   s        r   Útest_resembles_filename_warningz,TestWarnings.test_resembles_filename_warning>  sÔ   € õ Ô$¨DÐ1Ñ1Ô1ð 	H°QÝ  ¨IÑ!5°}ÑEÔEˆDØ×*Ò*¨1Õ.KÑLÔLˆGØ/µ3°w´Ñ3GÔ3GÐGÐGÐGÐGÐGð	Hð 	Hð 	Hñ 	Hô 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hð 	Høøøð 	Hð 	Hð 	Hð 	Hð 	Hð 	Hs   –AA+Á+A/Á2A/)Ú
markuphtmlz
markup.comrV   z	markup.jsc                 ó    — t          j        d¬¦  «        5 }|                      d|z   ¦  «        }d d d ¦  «         n# 1 swxY w Y   g |k    sJ ‚d S )NTrT   r?   rÈ   )r   rÙ   ra   r   s       r   Ú"test_resembles_filename_no_warningz/TestWarnings.test_resembles_filename_no_warningK  s‘   € õ Ô$¨DÐ1Ñ1Ô1ð 	3°QØ—9’9˜X¨	Ñ1Ñ2Ô2ˆDð	3ð 	3ð 	3ñ 	3ô 	3ð 	3ð 	3ð 	3ð 	3ð 	3ð 	3øøøð 	3ð 	3ð 	3ð 	3à�QŠwˆwˆwˆwˆwˆws   –;»?Á?c                 ó@  — d}t          j        d¬¦  «        5 }t          |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |t          ¦  «        }dt          |j        ¦  «        v sJ ‚|t          |j        ¦  «                             d¦  «        vsJ ‚d S )Ns   http://www.crummybytes.com/TrT   r§   úlooks more like a URLrÑ   )r[   r\   r   r¸   r   r^   r_   r'   ©r   ÚurlÚwarning_listr   r¼   s        r   Útest_url_warning_with_bytes_urlz,TestWarnings.test_url_warning_with_bytes_urlW  sã   € Ø,ˆÝÔ$¨DÐ1Ñ1Ô1ð 	5°\Ý   mÑ4Ô4ˆDð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5à×&Ò&ØÕ7ñ
ô 
ˆð '­#¨g¬oÑ*>Ô*>Ð>Ð>Ð>Ð>Ø�#˜gœoÑ.Ô.×5Ò5°fÑ=Ô=Ð=Ð=Ð=Ð=Ð=Ð=ó   ˜5µ9¼9c                 ó  — d}t          j        d¬¦  «        5 }t          |d¦  «        }d d d ¦  «         n# 1 swxY w Y   |                      |t          ¦  «        }dt          |j        ¦  «        v sJ ‚|t          |j        ¦  «        vsJ ‚d S )Nzhttp://www.crummyunicode.com/TrT   r§   rá   rÛ   râ   s        r   Ú!test_url_warning_with_unicode_urlz.TestWarnings.test_url_warning_with_unicode_urla  sÙ   € Ø-ˆÝÔ$¨DÐ1Ñ1Ô1ð 	5°\õ !  mÑ4Ô4ˆDð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð ×&Ò&ØÕ7ñ
ô 
ˆð '­#¨g¬oÑ*>Ô*>Ð>Ð>Ð>Ð>Ø�#˜gœoÑ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.ræ   c                 óÀ   — t          j        d¬¦  «        5 }|                      d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          d„ |D ¦   «         ¦  «        rJ ‚d S )NTrT   s$   http://www.crummybytes.com/ is greatc              3   óB   K  — | ]}d t          |j        ¦  «        v V — ŒdS ©rá   N©r^   r_   ©r…   ra   s     r   r‡   zETestWarnings.test_url_warning_with_bytes_and_space.<locals>.<genexpr>r  óC   è è € ð .ð .Øð /µ#°a´i±.´.Ð@ð .ð .ð .ð .ð .ð .r!   ©r[   r\   r   Úany©r   rä   r   s      r   Ú%test_url_warning_with_bytes_and_spacez2TestWarnings.test_url_warning_with_bytes_and_spacem  sÎ   € õ Ô$¨DÐ1Ñ1Ô1ð 	F°\Ø—9’9ÐDÑEÔEˆDð	Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fåð .ð .Ø ,ð.ñ .ô .ñ .ô .ð 	.ð 	.ð 	.ð 	.ð 	.rÊ   c                 óÀ   — t          j        d¬¦  «        5 }|                      d¦  «        }d d d ¦  «         n# 1 swxY w Y   t          d„ |D ¦   «         ¦  «        rJ ‚d S )NTrT   z&http://www.crummyunicode.com/ is greatc              3   óB   K  — | ]}d t          |j        ¦  «        v V — ŒdS rë   rì   rí   s     r   r‡   zGTestWarnings.test_url_warning_with_unicode_and_space.<locals>.<genexpr>x  rî   r!   rï   rñ   s      r   Ú'test_url_warning_with_unicode_and_spacez4TestWarnings.test_url_warning_with_unicode_and_spaceu  sÌ   € ÝÔ$¨DÐ1Ñ1Ô1ð 	G°\Ø—9’9ÐEÑFÔFˆDð	Gð 	Gð 	Gñ 	Gô 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gøøøð 	Gð 	Gð 	Gð 	Gåð .ð .Ø ,ð.ñ .ô .ñ .ô .ð 	.ð 	.ð 	.ð 	.ð 	.rÊ   N)rK   rL   rM   r¸   r½   rÃ   rÆ   rÉ   rÏ   rÔ   rØ   rj   r¯   r°   rÜ   rß   rå   rè   rò   rõ   r9   r!   r   r²   r²   ÿ   sR  € € € € € ðHð Hð HðRð Rð Rð
,ð ,ð ,ð
,ð ,ð ,ð
ð ð ð

+ð 
+ð 
+ð
0ð 
0ð 
0ð4ð 4ð 4ð „[×ÒØð	Kð 	Kð 	Kñô ð
Hð Hñô ð
Hð „[×ÒØØ5Ð5Ð5ñô ðð ñ	ô ðð>ð >ð >ð
/ð 
/ð 
/ð.ð .ð .ð.ð .ð .ð .ð .r!   r²   c                   ó   — e Zd Zd„ ZdS )ÚTestSelectiveParsingc                 óŠ   — d}t          d¦  «        }|                      ||¬¦  «        }|                     ¦   «         dk    sJ ‚d S )Nz&No<b>Yes</b><a>No<b>Yes <c>Yes</c></b>r’   )rÍ   s   <b>Yes</b><b>Yes <c>Yes</c></b>)r   r   r'   )r   r?   Ústrainerr   s       r   Útest_parse_with_soupstrainerz1TestSelectiveParsing.test_parse_with_soupstrainer~  sI   € Ø9ˆÝ Ñ$Ô$ˆØ�yŠy˜¨HˆyÑ5Ô5ˆØ�{Š{‰}Œ}Ð BÒBÐBÐBÐBÐBÐBr!   N)rK   rL   rM   rú   r9   r!   r   r÷   r÷   |  s(   € € € € € ðCð Cð Cð Cð Cr!   r÷   c                   ój   — e Zd ZdZd„ Zej                             e d¬¦  «        d„ ¦   «         Z	d„ Z
dS )Ú
TestNewTagz(Test the BeautifulSoup.new_tag() method.c                 óþ   — |                       d¦  «        }|                     ddddi¬¦  «        }t          |t          ¦  «        sJ ‚d|j        k    sJ ‚t          dd¬¦  «        |j        k    sJ ‚d |j        k    sJ ‚d S )NrV   ÚfooÚbazÚnameza name)ÚbarÚattrs)r  r   )r   Únew_tagr]   r   r   rZ   r  Úparent)r   r   r  s      r   Útest_new_tagzTestNewTag.test_new_tag‡  s�   € Ø�yŠy˜‰}Œ}ˆØ—,’,˜u¨%¸ÀÐ7I�,ÑJÔJˆÝ˜'¥3Ñ'Ô'Ð'Ð'Ð'Ø˜œÒ$Ð$Ð$Ð$Ý˜ HÐ-Ñ-Ô-°´Ò>Ð>Ð>Ð>Ø�w”~Ò%Ð%Ð%Ð%Ð%Ð%r!   z-lxml not installed, cannot parse XML document)Úreasonc                 óâ   — t          dd¦  «        }|                     d¦  «        }|                     d¦  «        }d|                     ¦   «         k    sJ ‚d|                     ¦   «         k    sJ ‚d S )NrV   ÚxmlÚbrr“   ó   <br/>s   <p/>©r   r  r'   )r   Úxml_soupÚxml_brÚxml_ps       r   Ú5test_xml_tag_inherits_self_closing_rules_from_builderz@TestNewTag.test_xml_tag_inherits_self_closing_rules_from_builder�  ss   € õ
 !  UÑ+Ô+ˆØ×!Ò! $Ñ'Ô'ˆØ× Ò  Ñ%Ô%ˆð ˜6Ÿ=š=™?œ?Ò*Ð*Ð*Ð*Ø˜%Ÿ,š,™.œ.Ò(Ð(Ð(Ð(Ð(Ð(r!   c                 óâ   — t          dd¦  «        }|                     d¦  «        }|                     d¦  «        }d|                     ¦   «         k    sJ ‚d|                     ¦   «         k    sJ ‚d S )NrV   r§   r	  r“   r
  s   <p></p>r  )r   Ú	html_soupÚhtml_brÚhtml_ps       r   Ú1test_tag_inherits_self_closing_rules_from_builderz<TestNewTag.test_tag_inherits_self_closing_rules_from_builder�  ss   € Ý! " mÑ4Ô4ˆ	Ø×#Ò# DÑ)Ô)ˆØ×"Ò" 3Ñ'Ô'ˆð ˜7Ÿ>š>Ñ+Ô+Ò+Ð+Ð+Ð+Ø˜VŸ]š]™_œ_Ò,Ð,Ð,Ð,Ð,Ð,r!   N)rK   rL   rM   Ú__doc__r  rj   r¯   Úskipifr   r  r  r9   r!   r   rü   rü   …  sv   € € € € € Ø2Ð2ð&ð &ð &ð „[×ÒØÐØ>ð ñ ô ð)ð )ñ	ô ð)ð-ð -ð -ð -ð -r!   rü   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ÚTestNewStringz+Test the BeautifulSoup.new_string() method.c                 ó˜   — |                       d¦  «        }|                     d¦  «        }d|k    sJ ‚t          |t          ¦  «        sJ ‚d S ©NrV   rþ   )r   Ú
new_stringr]   r   ©r   r   r˜   s      r   Ú'test_new_string_creates_navigablestringz5TestNewString.test_new_string_creates_navigablestring©  sK   € Ø�yŠy˜‰}Œ}ˆØ�OŠO˜EÑ"Ô"ˆØ˜ŠzˆzˆzˆzÝ˜!�_Ñ-Ô-Ð-Ð-Ð-Ð-Ð-r!   c                 ó¤   — |                       d¦  «        }|                     dt          ¦  «        }d|k    sJ ‚t          |t          ¦  «        sJ ‚d S r  )r   r  r   r]   r  s      r   Ú3test_new_string_can_create_navigablestring_subclasszATestNewString.test_new_string_can_create_navigablestring_subclass¯  sM   € Ø�yŠy˜‰}Œ}ˆØ�OŠO˜E¥7Ñ+Ô+ˆØ˜ŠzˆzˆzˆzÝ˜!�WÑ%Ô%Ð%Ð%Ð%Ð%Ð%r!   N)rK   rL   rM   r  r  r  r9   r!   r   r  r  §  s8   € € € € € Ø5Ð5ð.ð .ð .ð&ð &ð &ð &ð &r!   r  c                   ó   — e Zd Zd„ Zd„ ZdS )Ú
TestPicklec                 ó¤   — |                       d¦  «        }t          j        |¦  «        }t          j        |¦  «        }d|j        j        k    sJ ‚d S )Nz<a>some markup</a>úsome markup)r   ÚpickleÚdumpsÚloadsrp   r   ©r   r   ÚpickledÚ	unpickleds       r   Útest_normal_picklezTestPickle.test_normal_pickle¹  sN   € Ø�yŠyÐ-Ñ.Ô.ˆÝ”,˜tÑ$Ô$ˆÝ”L Ñ)Ô)ˆ	Ø 	¤Ô 2Ò2Ð2Ð2Ð2Ð2Ð2r!   c                 ó¨   — |                       d¦  «        }d |_        t          j        |¦  «        }t          j        |¦  «        }d|j        k    sJ ‚d S )Nr#  )r   rW   r$  r%  r&  r   r'  s       r   Útest_pickle_with_no_builderz&TestPickle.test_pickle_with_no_builder¿  sT   € ð �yŠy˜Ñ'Ô'ˆØˆŒÝ”,˜tÑ$Ô$ˆÝ”L Ñ)Ô)ˆ	Ø 	Ô 0Ò0Ð0Ð0Ð0Ð0Ð0r!   N)rK   rL   rM   r*  r,  r9   r!   r   r!  r!  ¶  s2   € € € € € ð3ð 3ð 3ð1ð 1ð 1ð 1ð 1r!   r!  c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestEncodingConversionc                 ól   — d| _         | j                              d¦  «        | _        | j        dk    sJ ‚d S )NuU   <html><head><meta charset="utf-8"/></head><body><foo>SacrÃ© bleu!</foo></body></html>r%   sU   <html><head><meta charset="utf-8"/></head><body><foo>SacrÃ© bleu!</foo></body></html>)Úunicode_datar'   r)   rB   s    r   Úsetup_methodz#TestEncodingConversion.setup_methodÌ  s?   € ð UˆÔØÔ*×1Ò1°'Ñ:Ô:ˆŒàŒ~Ð!ÒÐÐÐÐÐr!   c                 óJ  — t           j        }t          j        t          j        ¦  «         	 d„ }|t           _        d}|                      |¦  «        }|                     ¦   «         }t          |t          ¦  «        sJ ‚||  	                    |                     ¦   «         ¦  «        k    sJ ‚|j
                             ¦   «         dk    sJ ‚	 t          j        t          j        ¦  «         |t           _        d S # t          j        t          j        ¦  «         |t           _        w xY w)Nc                 ó   — d S r8   r9   )r^   s    r   Únoopz>TestEncodingConversion.test_ascii_in_unicode_out.<locals>.noopØ  s   € Ø�tr!   s   <foo>a</foo>r%   )r   Úchardet_dammitÚloggingÚdisableÚWARNINGr   r¡   r]   r^   Údocument_forr(   ÚlowerÚNOTSET)r   Úchardetr4  ÚasciiÚsoup_from_asciiÚunicode_outputs         r   Útest_ascii_in_unicode_outz0TestEncodingConversion.test_ascii_in_unicode_outÒ  s  € õ Ô'ˆÝŒ�œÑ(Ô(Ð(ð	,ðð ð ð %)�FÔ!Ø#ˆEØ"Ÿiši¨Ñ.Ô.ˆOØ,×3Ò3Ñ5Ô5ˆNÝ˜n­cÑ2Ô2Ð2Ð2Ð2Ø! T×%6Ò%6°u·|²|±~´~Ñ%FÔ%FÒFÐFÐFÐFØ"Ô4×:Ò:Ñ<Ô<ÀÒGÐGÐGÐGÐGåŒO�GœNÑ+Ô+Ð+Ø$+�FÔ!Ð!Ð!øõ ŒO�GœNÑ+Ô+Ð+Ø$+�FÔ!Ð+Ð+Ð+Ð+s   ¬BC6 Ã6,D"c                 ó¶   — |                       | j        ¦  «        }|                     ¦   «         | j        k    sJ ‚|j        j        dk    sJ ‚|j        d k    sJ ‚d S ©Nu   SacrÃ© bleu!)r   r0  r¡   rþ   r   r(   ©r   Úsoup_from_unicodes     r   Útest_unicode_in_unicode_outz2TestEncodingConversion.test_unicode_in_unicode_outæ  sk   € ð !ŸIšI dÔ&7Ñ8Ô8ÐØ ×'Ò'Ñ)Ô)¨TÔ->Ò>Ð>Ð>Ð>Ø Ô$Ô+Ð/?Ò?Ð?Ð?Ð?Ø Ô2°dÒ:Ð:Ð:Ð:Ð:Ð:r!   c                 óœ   — |                       | j        ¦  «        }|                     ¦   «         | j        k    sJ ‚|j        j        dk    sJ ‚d S rB  )r   r)   r¡   r0  rþ   r   )r   Úsoup_from_utf8s     r   Útest_utf8_in_unicode_outz/TestEncodingConversion.test_utf8_in_unicode_outî  sU   € ð Ÿš 4¤>Ñ2Ô2ˆØ×$Ò$Ñ&Ô&¨$Ô*;Ò;Ð;Ð;Ð;ØÔ!Ô(Ð,<Ò<Ð<Ð<Ð<Ð<Ð<r!   c                 óz   — |                       | j        ¦  «        }|                     d¦  «        | j        k    sJ ‚d S )Nr%   )r   r0  r'   r)   rC  s     r   Útest_utf8_outz$TestEncodingConversion.test_utf8_outõ  s>   € à ŸIšI dÔ&7Ñ8Ô8ÐØ ×'Ò'¨Ñ0Ô0°D´NÒBÐBÐBÐBÐBÐBr!   N)rK   rL   rM   r1  r@  rE  rH  rJ  r9   r!   r   r.  r.  È  sg   € € € € € ð@ð @ð @ð,ð ,ð ,ð(;ð ;ð ;ð=ð =ð =ðCð Cð Cð Cð Cr!   r.  )&r  Úpdbr   r6  Úosr$  rj   ÚsysÚtempfileÚbs4r   r   r   r   r   Úbs4.builderr	   r
   r   Úbs4.elementr   r   r   r   r   rV   r   r   r   r[   r   r›   r²   r÷   rü   r  r!  r.  r9   r!   r   ú<module>rR     sÎ  ðà )Ð )à Ð Ð Ð Ð Ð Ø €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
 €€€ðl1ð l1ð l1ð l1ð l1�hñ l1ô l1ð l1ð^&4ð &4ð &4ð &4ð &4�ñ &4ô &4ð &4ðRz.ð z.ð z.ð z.ð z.�8ñ z.ô z.ð z.ðzCð Cð Cð Cð C˜8ñ Cô Cð Cð -ð  -ð  -ð  -ð  -�ñ  -ô  -ð  -ðD&ð &ð &ð &ð &�Hñ &ô &ð &ð1ð 1ð 1ð 1ð 1�ñ 1ô 1ð 1ð$0Cð 0Cð 0Cð 0Cð 0C˜Xñ 0Cô 0Cð 0Cð 0Cð 0Cr!   