Ë
    ò¦1h�X  ã                   óh  — d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ ddlmZmZmZmZmZmZ ddlmZ ddlmZ dd	lmZ d
dlmZmZmZ ddlZddlm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&y)z#Tests of Beautiful Soup as a whole.é    N)ÚIterable)ÚBeautifulSoupÚGuessedAtParserWarningÚdammit)ÚTreeBuilder)ÚAttributeValueListÚXMLAttributeDictÚCommentÚPYTHON_SPECIFIC_ENCODINGSÚTagÚNavigableString)ÚSoupStrainer©ÚParserRejectedMarkup)ÚMarkupResemblesLocatorWarningé   )Údefault_builderÚLXML_PRESENTÚSoupTest)ÚTypec                   óˆ   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ej                  j                  d	d
dd„ g«      d„ «       Zy)ÚTestConstructorc                 ó`   — d}| j                  |«      }d|j                  j                  k(  sJ ‚y )Nu   <h1>Ã©Ã©</h1>u   Ã©Ã©©ÚsoupÚh1Ústring©ÚselfÚdatar   s      úQ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/bs4/tests/test_soup.pyÚtest_short_unicode_inputz(TestConstructor.test_short_unicode_input,   s*   € ØˆØ�y‰y˜‹ˆØ˜Ÿ™Ÿ™Ò'Ð'Ñ'ó    c                 ó`   — d}| j                  |«      }d|j                  j                  k(  sJ ‚y )Nz<h1>foo bar</h1>zfoo barr   r   s      r!   Útest_embedded_nullz"TestConstructor.test_embedded_null1   s*   € Ø"ˆØ�y‰y˜‹ˆØ˜TŸW™WŸ^™^Ò+Ð+Ñ+r#   c                 óp   — dj                  d«      }| j                  |dg¬«      }d|j                  k(  sJ ‚y )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_encodings6   s:   € Ø#×*Ñ*¨7Ó3ˆ	Ø�y‰y˜°w°iˆyÓ@ˆØ ×!7Ñ!7Ò7Ð7Ñ7r#   c                 óx  —  G d„ dt         «      }t        dd¬«      }t        j                  d¬«      5  t	        dd|i|¤Ž}d d d «       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 «       t        d   j                  «      }|j                  d«      sJ ‚||j                  k(  sJ ‚||j                  k(  sJ ‚y # 1 sw Y   ŒäxY w# 1 sw Y   ŒcxY w)Nc                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZexZZ	d„ Z
y)ú7TestConstructor.test_custom_builder_class.<locals>.Mockc                 ó„   — || _         d| _        d| _        g | _        g | _        i | _        t        | _        t        | _	        y )NTF)
Úcalled_withÚis_xmlÚstore_line_numbersÚcdata_list_attributesÚpreserve_whitespace_tagsÚstring_containersr	   Úattribute_dict_classr   Úattribute_value_list_class)r   Úkwargss     r!   Ú__init__z@TestConstructor.test_custom_builder_class.<locals>.Mock.__init__?   sA   € Ø#)�Ô Ø"�”Ø*/�Ô'Ø-/�Ô*Ø02�Ô-Ø)+�Ô&Ü,<�Ô)Ü2D�Õ/r#   c                  ó   — y ©N© ©r   r   s     r!   Úinitialize_soupzGTestConstructor.test_custom_builder_class.<locals>.Mock.initialize_soupI   ó   € Ør#   c                 ó   — || _         y r<   )Úfed)r   Úmarkups     r!   Úfeedz<TestConstructor.test_custom_builder_class.<locals>.Mock.feedL   s	   € Ø!�•r#   c                  ó   — y r<   r=   ©r   s    r!   Úresetz=TestConstructor.test_custom_builder_class.<locals>.Mock.resetO   r@   r#   c                  ó   — y r<   r=   )r   Úignores     r!   rI   z>TestConstructor.test_custom_builder_class.<locals>.Mock.ignoreR   r@   r#   c              ?   ó   K  — d–— y ­w)N)úprepared markupzoriginal encodingzdeclared encodingzcontains replacement charactersr=   ©r   Úargsr9   s      r!   Úprepare_markupzFTestConstructor.test_custom_builder_class.<locals>.Mock.prepare_markupW   s   è ø€ ðó ùs   ‚N)Ú__name__Ú
__module__Ú__qualname__r:   r?   rD   rG   rI   Úset_up_substitutionsÚcan_be_empty_elementrN   r=   r#   r!   ÚMockr/   >   s0   „ òEòò"òòð ;AÐ@Ð Ð#7ór#   rT   ÚvalueT)ÚvarÚconvertEntities©ÚrecordÚ Úbuilder)rV   rK   )r[   Úignored_valuer   zCKeyword arguments to the BeautifulSoup constructor will be ignored.)rZ   r=   )ÚobjectÚdictÚwarningsÚcatch_warningsr   Ú
isinstancer[   r1   rB   ÚstrÚmessageÚ
startswith)r   rT   r9   r   r[   ÚwÚmsgs          r!   Útest_custom_builder_classz)TestConstructor.test_custom_builder_class;   s=  € ô	”6ô 	ôB Øð !ô	
ˆô ×$Ñ$¨DÔ1ñ 	=Ü Ñ<¨TÐ<°VÑ<ˆD÷	=ä˜$Ÿ,™,¨Ô-Ð-Ð-Ü˜Ô  D§L¡L×$<Ñ$<Ò<Ð<Ð<Ø  D§L¡L×$4Ñ$4Ò4Ð4Ð4ñ
 ‘.˜‘.ˆÜ×$Ñ$¨DÔ1ð 	°QÜ ØØØ"ôˆD÷	ô �!�A‘$—,‘,ÓˆØ�~‰~ØQô
ð 	
ð 
ð ˜$Ÿ,™,Ò&Ð&Ð&Ø˜×,Ñ,Ò,Ð,Ñ,÷+	=ð 	=ú÷	ð 	ús   ³D$Â?D0Ä$D-Ä0D9c                 óÐ   —  G d„ dt         «      }d„ }t        j                  t        «      5 }t	        d|¬«       d d d «       dt        j                  «      v sJ ‚y # 1 sw Y   Œ#xY w)Nc                   ó   — e Zd Zd„ Zy)ú:TestConstructor.test_parser_markup_rejection.<locals>.Mockc                 ó   — t        d«      ‚)NzNope.r   rL   s      r!   rD   z?TestConstructor.test_parser_markup_rejection.<locals>.Mock.feed€   s   € Ü*¨7Ó3Ð3r#   N)rO   rP   rQ   rD   r=   r#   r!   rT   rj      s   „ ó4r#   rT   c              ?   ó,   K  — |d d df–— |d d df–— y ­w©NFr=   )r   rC   rM   r9   s       r!   rN   zDTestConstructor.test_parser_markup_rejection.<locals>.prepare_markupƒ   s&   è ø€ ð ˜$  eÐ+Ò+Ø˜$  eÐ+Ó+ùs   ‚rZ   )r[   zoThe markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.)r   ÚpytestÚraisesr   r   rb   rU   )r   rT   rN   Úexc_infos       r!   Útest_parser_markup_rejectionz,TestConstructor.test_parser_markup_rejection|   sd   € ô	4”;ô 	4ò	,ô �]‰]Ô/Ó0ð 	,°HÜ˜" dÕ+÷	,ð ~Ü�8—>‘>Ó"ñ#ð	
ñ#÷	,ð 	,ús   ¬AÁA%c                 ó¢  — d}| j                  |«      }|j                  }d|d   k(  sJ ‚ddg|d   k(  sJ ‚| j                  |t        d ¬«      }d|j                  d   k(  sJ ‚ddiddifD ]W  }t        j                  d	¬
«      5  | j                  |d |¬«      }d d d «       |j                  }ddg|d   k(  sJ ‚d|d   k(  rŒWJ ‚ y # 1 sw Y   Œ.xY w)Nz&<a id=" an id " class=" a class "></a>z an id ÚidÚaÚclass)r[   Úmulti_valued_attributesz	 a class Ú*TrX   Úan)r   rt   r   r_   r`   )r   rC   r   rt   Ú
switcheroos        r!   Útest_cdata_list_attributesz*TestConstructor.test_cdata_list_attributes‘   s  € ð :ˆØ�y‰y˜Ó ˆð �F‰FˆØ˜A˜d™GÒ#Ð#Ð#Ø�Wˆ~  7¡Ò+Ð+Ð+ð
 �y‰y˜¬ÐRVˆyÓWˆØ˜dŸf™f W™oÒ-Ð-Ð-ð   ˜;¨¨d¨Ð4ò 		-ˆJÜ×(Ñ(°Ô5ñ ð —y‘yØ DÀ*ð !ó �÷ð —‘ˆAØ˜$�< 1 T¡7Ò*Ð*Ð*Ø ! G¡*Ó,Ð,Ð,ñ		-÷ð ús   ÂCÃC	c           	      óò   ‡‡‡—  G d„ dt         «      Š G d„ dt        «      Š G d„ dt        «      Š| j                  dt         ‰t        ‰t        ‰i¬«      }t	        ˆˆˆfd	„|j
                  D «       «      sJ ‚y )
Nc                   ó   — e Zd Zy)ú9TestConstructor.test_replacement_classes.<locals>.TagPlusN©rO   rP   rQ   r=   r#   r!   ÚTagPlusr}   ³   ó   „ Ør#   r   c                   ó   — e Zd Zy)ú<TestConstructor.test_replacement_classes.<locals>.StringPlusNr~   r=   r#   r!   Ú
StringPlusr‚   ¶   r€   r#   rƒ   c                   ó   — e Zd Zy)ú=TestConstructor.test_replacement_classes.<locals>.CommentPlusNr~   r=   r#   r!   ÚCommentPlusr…   ¹   r€   r#   r†   z<a><b>foo</b>bar</a><!--whee-->)Úelement_classesc              3   ó<   •K  — | ]  }t        |‰‰‰f«      –— Œ y ­wr<   )ra   )Ú.0Úxr†   rƒ   r   s     €€€r!   ú	<genexpr>z;TestConstructor.test_replacement_classes.<locals>.<genexpr>Ç   s$   øè ø€ ò 
ØBCŒJ�q˜7 J°Ð<×=ñ
ùs   ƒ)r   r   r
   r   ÚallÚdescendants)r   r   r†   rƒ   r   s     @@@r!   Útest_replacement_classesz(TestConstructor.test_replacement_classes°   sz   ú€ ô	”cô 	ô	œô 	ô	œ'ô 	ð �y‰yØ-ä�WÜ Ü˜ðð ó 
ˆô õ 
ØGK×GWÑGWô
ô 
ð 	
ñ 
r#   c                 ó|  —  G d„ dt         «      } G d„ dt         «      }| j                  d||dœ¬«      }t        |j                  j                  d   t         «      sJ ‚t        |j
                  j                  d   |«      sJ ‚|j                  j                  D ]  }t        ||«      rŒJ ‚ g |j                  k(  sJ ‚y )	Nc                   ó   — e Zd Zy)úATestConstructor.test_alternate_string_containers.<locals>.PStringNr~   r=   r#   r!   ÚPStringr‘   Î   r€   r#   r’   c                   ó   — e Zd Zy)úATestConstructor.test_alternate_string_containers.<locals>.BStringNr~   r=   r#   r!   ÚBStringr”   Ñ   r€   r#   r•   z4<div>Hello.<p>Here is <b>some <i>bolded</i></b> text)ÚbÚp)r6   r   )	r   r   ra   Ú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ð —‘—‘ò 	*ˆAÜ˜a Õ)Ð)Ð)ð	*ð
 �T×0Ñ0Ò0Ð0Ñ0r#   Ú
bad_markupr   Fc                  ó   — yrm   r=   )rŠ   s    r!   ú<lambda>zTestConstructor.<lambda>ì   s   � r#   c                 ó²   — t        j                  t        «      5 }t        |d«       d d d «       d|›d�t	        j
                  «      v sJ ‚y # 1 sw Y   Œ'xY w)Núhtml.parserz'Incoming markup is of an invalid type: z?. Markup must be a string, a bytestring, or an open filehandle.)rn   ro   Ú	TypeErrorr   rb   rU   )r   rž   rp   s      r!   Útest_invalid_markup_typez(TestConstructor.test_invalid_markup_typeì   s`   € ä�]‰]œ9Ó%ð 	5¨Ü˜* mÔ4÷	5ð 6°j°^ð  DCð  DÜ�8—>‘>Ó"ñ#ð	
ñ#÷	5ð 	5ús   šAÁAN)rO   rP   rQ   r"   r%   r,   rg   rq   rz   rŽ   r�   rn   ÚmarkÚparametrizer¤   r=   r#   r!   r   r   +   sY   „ ò(ò
,ò
8ò
?-òB
ò*-ò>
ò61ðB ‡[�[×Ñ˜\¨A¨u±oÐ+FÓGñ
ó Hñ
r#   r   c                   óÒ   — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  deD � �cg c]  }|‘Œ c}} dgz   «      d„ «       Zd„ Z	yc c}} w )	Ú
TestOutputz!eventual_encoding,actual_encoding)r'   r'   )úutf-16r©   c                 ój   — | j                  d«      }d|_        d|› d�|j                  |¬«      k(  sJ ‚y )Nú<tag></tag>Tz<?xml version="1.0" encoding="z"?>
<tag></tag>©Úeventual_encoding)r   r2   Údecode)r   r­   Úactual_encodingr   s       r!   Útest_decode_xml_declarationz&TestOutput.test_decode_xml_declaration÷   sG   € ð �y‰y˜Ó'ˆØˆŒà,¨_Ð,=Ð=MÐNØ�{‰{Ð->ˆ{Ó?ò@ð	
ñ@r#   r­   Nc                 óX   — t        dd«      }d|_        d|j                  |¬«      k(  sJ ‚y )Nr«   r¢   Tz!<?xml version="1.0"?>
<tag></tag>r¬   )r   r2   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
  s=   € ô ˜]¨MÓ:ˆØˆŒØ3°t·{±{Ø/ð 8Có 8
ò 
ð 	
ñ 
r#   c                 óÖ   — | j                  d«      }d|j                  d¬«      k(  sJ ‚d|j                  d¬«      k(  sJ ‚d|j                  «       k(  sJ ‚d|j	                  «       k(  sJ ‚y )Nr«   s   <tag></tag>r'   )Úencodingz<tag>
</tag>
)r   r)   Úencode_contentsÚdecode_contentsÚprettifyr>   s     r!   ÚtestzTestOutput.test  sr   € ð �y‰y˜Ó'ˆØ §¡°g Ó!>Ò>Ð>Ð>Ø ×!5Ñ!5¸wÐ!5Ó!GÒGÐGÐGØ × 4Ñ 4Ó 6Ò6Ð6Ð6Ø  D§M¡M£OÒ3Ð3Ñ3r#   )
rO   rP   rQ   rn   r¥   r¦   r°   r   r²   r¸   )r‰   rŠ   s   00r!   r¨   r¨   ö   sw   „ Ø‡[�[×ÑØ+àØ ð	
óñ

óð

ð ‡[�[×ÑØÐ)B×C AšaÓCÀtÀfÑLóñ

óð

ó4ùó Ds   Á	A#r¨   c                   óP  — e Zd Zdeej
                     dee   dej
                  fd„Zdeej
                     ddfd„Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zej$                  j'                  dg d¢«      d„ «       Zej$                  j'                  dg d¢«      d„ «       Zd„ Zd„ Zd„ Zd„ Zy)ÚTestWarningsr_   ÚclsÚreturnc                 óŽ   — |D ]1  }t        |j                  |«      sŒ|j                  t        k(  sJ ‚|c S  t	        |›d|›�«      ‚)Nz warning not found in )ra   rc   ÚfilenameÚ__file__Ú	Exception)r   r_   r»   re   s       r!   Ú_assert_warningzTestWarnings._assert_warning,  sJ   € ð ò 	ˆAÜ˜!Ÿ)™) SÕ)Ø—z‘z¤XÒ-Ð-Ð-Ø’ð	ô º¹XÐFÓGÐGr#   re   Nc                 ó¢   — | j                  |t        «      }t        |j                  «      }|j	                  t        j
                  d d «      sJ ‚y )Né<   )rÁ   r   rb   rc   rd   ÚMESSAGE)r   re   Úwarningrc   s       r!   Ú_assert_no_parser_specifiedz(TestWarnings._assert_no_parser_specified5  sE   € Ø×&Ñ& qÔ*@ÓAˆÜ�g—o‘oÓ&ˆØ×!Ñ!Ô"8×"@Ñ"@ÀÀ"Ð"EÔFÐFÑFr#   c                 ó’   — t        j                  d¬«      5 }t        d«       d d d «       | j                  «       y # 1 sw Y   ŒxY w©NTrX   ú<a><b></b></a>©r_   r`   r   rÆ   ©r   re   s     r!   Ú#test_warning_if_no_parser_specifiedz0TestWarnings.test_warning_if_no_parser_specified:  s>   € Ü×$Ñ$¨DÔ1ð 	,°QÜÐ*Ô+÷	,à×(Ñ(¨Õ+÷	,ð 	,ús	   —=½Ac                 ó”   — t        j                  d¬«      5 }t        dd«       d d d «       | j                  «       y # 1 sw Y   ŒxY w)NTrX   rÉ   ÚhtmlrÊ   rË   s     r!   Ú*test_warning_if_parser_specified_too_vaguez7TestWarnings.test_warning_if_parser_specified_too_vague?  s@   € Ü×$Ñ$¨DÔ1ð 	4°QÜÐ*¨FÔ3÷	4à×(Ñ(¨Õ+÷	4ð 	4ús	   —>¾Ac                 óŠ   — t        j                  d¬«      5 }| j                  d«       d d d «       g k(  sJ ‚y # 1 sw Y   ŒxY wrÈ   ©r_   r`   r   rË   s     r!   Ú,test_no_warning_if_explicit_parser_specifiedz9TestWarnings.test_no_warning_if_explicit_parser_specifiedD  s?   € Ü×$Ñ$¨DÔ1ð 	(°QØ�I‰IÐ&Ô'÷	(à�QŠwˆ‰w÷	(ð 	(úó	   —9¹Ac                 ó  — t        dd¬«      }t        j                  d¬«      5 }| j                  d|¬«       d d d «       | j	                  t
        «      }t        |j                  «      }|j                  d«      sJ ‚y # 1 sw Y   ŒHxY w)	Nrt   r–   )Únamer   TrX   rÉ   ©Ú
parse_onlyz7The given value for parse_only will exclude everything:)	r   r_   r`   r   rÁ   ÚUserWarningrb   rc   rd   )r   Ústrainerre   rÅ   rf   s        r!   Ú+test_warning_if_strainer_filters_everythingz8TestWarnings.test_warning_if_strainer_filters_everythingI  sw   € Ü S°Ô5ˆÜ×$Ñ$¨DÔ1ð 	=°QØ�I‰IÐ&°8ˆIÔ<÷	=à×&Ñ& q¬+Ó6ˆÜ�'—/‘/Ó"ˆØ�~‰~ÐWÔXÐXÑX÷		=ð 	=ús   ¤A?Á?Bc                 ó   — t        j                  d¬«      5 }t        ddt        d«      ¬«      }d d d «       | j	                  t
        «      }t        |j                  «      }d|v sJ ‚d|v sJ ‚d	j                  «       k(  sJ ‚y # 1 sw Y   ŒVxY w)
NTrX   rÉ   r¢   r–   )ÚparseOnlyTheserÜ   r×   s   <b></b>)	r_   r`   r   r   rÁ   ÚDeprecationWarningrb   rc   r)   )r   re   r   rÅ   rf   s        r!   Ú)test_parseOnlyThese_renamed_to_parse_onlyz6TestWarnings.test_parseOnlyThese_renamed_to_parse_onlyQ  s’   € Ü×$Ñ$¨DÔ1ð 	°QÜ Ø ØÜ+¨CÓ0ôˆD÷	ð ×&Ñ& qÔ*<Ó=ˆÜ�'—/‘/Ó"ˆØ 3Ñ&Ð&Ð&Ø˜sÑ"Ð"Ð"Ø˜TŸ[™[›]Ò*Ð*Ñ*÷	ð 	ús   —BÂBc                 ó
  — t        j                  d¬«      5 }d}t        |dd¬«      }d d d «       | j                  t        «      }t        |j                  «      }d|v sJ ‚d|v sJ ‚dj                  k(  sJ ‚y # 1 sw Y   ŒRxY w)	NTrX   s   Ã©r¢   Úutf8)ÚfromEncodingrá   Úfrom_encoding)r_   r`   r   rÁ   rÝ   rb   rc   r*   )r   re   rà   r   rÅ   rf   s         r!   Ú*test_fromEncoding_renamed_to_from_encodingz7TestWarnings.test_fromEncoding_renamed_to_from_encoding^  s‘   € Ü×$Ñ$¨DÔ1ð 	K°QØˆDÜ   }À6ÔJˆD÷	Kð ×&Ñ& qÔ*<Ó=ˆÜ�'—/‘/Ó"ˆØ Ñ$Ð$Ð$Ø #Ñ%Ð%Ð%Ø˜×/Ñ/Ò/Ð/Ñ/÷	Kð 	Kús   —A9Á9Bc                 ó†   — t        j                  t        «      5  | j                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nz<a>T)Úno_such_argument)rn   ro   r£   r   rF   s    r!   Ú"test_unrecognized_keyword_argumentz/TestWarnings.test_unrecognized_keyword_argumenth  s3   € Ü�]‰]œ9Ó%ñ 	4Ø�I‰I�e¨dˆIÔ3÷	4÷ 	4ñ 	4ús	   š7·A rC   )zmarkup.htmlz
markup.htmzmarkup.HTMLz
markup.txtzmarkup.xhtmlz
markup.xmlz/home/user/file.txtz/c:\user\file.html\\server\share\path\file.XhTmlc                 óÒ   — t        j                  d¬«      5 }t        |d«       | j                  |t        «      }dt        |j                  «      v sJ ‚	 d d d «       y # 1 sw Y   y xY w)NTrX   r¢   zlooks more like a filename©r_   r`   r   rÁ   r   rb   rc   )r   rC   re   rÅ   s       r!   Útest_resembles_filename_warningz,TestWarnings.test_resembles_filename_warningl  sa   € ô  ×$Ñ$¨DÔ1ð 	H°QÜ˜& -Ô0Ø×*Ñ*¨1Ô.KÓLˆGØ/´3°w·±Ó3GÑGÐGÑG÷	H÷ 	Hñ 	Hús   —<AÁA&)r¾   Ú
markuphtmlz
markup.comrZ   z	markup.jsz
markup.jpgzmarkup.markupz/home/user/filez)c:\user\file.html\\server\share\path\filezAlog message containing a url http://www.url.com/ right there.htmlztwo  consecutive  spaces.htmlztwo//consecutive//slashes.htmlz4looks/like/a/filename/but/oops/theres/a#comment.htmlztwo
lines.htmlzcontains?.htmlzcontains*.htmlzcontains#.htmlzcontains&.htmlzcontains;.htmlzcontains>.htmlzcontains<.htmlzcontains$.htmlzcontains|.htmlzcontains:.htmlz:-at-the-front.htmlc                 óŠ   — t        j                  d¬«      5 }| j                  |«       d d d «       g k(  sJ ‚y # 1 sw Y   ŒxY w)NTrX   rÑ   )r   rC   re   s      r!   Ú"test_resembles_filename_no_warningz/TestWarnings.test_resembles_filename_no_warning�  sA   € ôP ×$Ñ$¨DÔ1ð 	°QØ�I‰I�fÔ÷	à�QŠwˆ‰w÷	ð 	úrÓ   c                 ó$  — d}t        j                  d¬«      5 }t        |d«       d d d «       | j                  t        «      }dt        |j                  «      v sJ ‚|t        |j                  «      j                  d«      vsJ ‚y # 1 sw Y   ŒaxY w)Ns   http://www.crummybytes.com/TrX   r¢   úlooks more like a URLrà   )r_   r`   r   rÁ   r   rb   rc   r)   ©r   ÚurlÚwarning_listrÅ   s       r!   Útest_url_warning_with_bytes_urlz,TestWarnings.test_url_warning_with_bytes_url­  s‚   € Ø,ˆÜ×$Ñ$¨DÔ1ð 	.°\Ü˜#˜}Ô-÷	.à×&Ñ& |Ô5RÓSˆØ&¬#¨g¯o©oÓ*>Ñ>Ð>Ð>Øœ#˜gŸo™oÓ.×5Ñ5°fÓ=Ñ=Ð=Ñ=÷		.ð 	.ús   ™BÂBc                 ó  — d}t        j                  d¬«      5 }t        |d«       d d d «       | j                  t        «      }dt        |j                  «      v sJ ‚|t        |j                  «      vsJ ‚y # 1 sw Y   ŒRxY w)Nzhttp://www.crummyunicode.com/TrX   r¢   rî   rè   rï   s       r!   Ú!test_url_warning_with_unicode_urlz.TestWarnings.test_url_warning_with_unicode_urlµ  s{   € Ø-ˆÜ×$Ñ$¨DÔ1ð 	.°\ô ˜#˜}Ô-÷	.ð ×&Ñ& |Ô5RÓSˆØ&¬#¨g¯o©oÓ*>Ñ>Ð>Ð>Øœ#˜gŸo™oÓ.Ñ.Ð.Ñ.÷	.ð 	.ús   ™A7Á7B c                 ó¤   — t        j                  d¬«      5 }| j                  d«       d d d «       t        d„ D «       «      rJ ‚y # 1 sw Y   ŒxY w)NTrX   s$   http://www.crummybytes.com/ is greatc              3   óJ   K  — | ]  }d t        |j                  «      v –— Œ y­w©rî   N©rb   rc   ©r‰   re   s     r!   r‹   zETestWarnings.test_url_warning_with_bytes_and_space.<locals>.<genexpr>Ä  ó   è ø€ ÒWÀQÐ.´#°a·i±i³.Ô@ÑWùó   ‚!#©r_   r`   r   Úany©r   rñ   s     r!   Ú%test_url_warning_with_bytes_and_spacez2TestWarnings.test_url_warning_with_bytes_and_space¿  sM   € ô ×$Ñ$¨DÔ1ð 	?°\Ø�I‰IÐ=Ô>÷	?äÑWÈ,ÔWÔWÐWÐWÐW÷	?ð 	?úó   —AÁAc                 ó¤   — t        j                  d¬«      5 }| j                  d«       d d d «       t        d„ D «       «      rJ ‚y # 1 sw Y   ŒxY w)NTrX   z&http://www.crummyunicode.com/ is greatc              3   óJ   K  — | ]  }d t        |j                  «      v –— Œ y­wr÷   rø   rù   s     r!   r‹   zGTestWarnings.test_url_warning_with_unicode_and_space.<locals>.<genexpr>É  rú   rû   rü   rþ   s     r!   Ú'test_url_warning_with_unicode_and_spacez4TestWarnings.test_url_warning_with_unicode_and_spaceÆ  sO   € Ü×$Ñ$¨DÔ1ð 	@°\Ø�I‰IÐ>Ô?÷	@äÑWÈ,ÔWÔWÐWÐWÐW÷	@ð 	@úr   )rO   rP   rQ   r   r_   ÚWarningMessager   ÚWarningrÁ   rÆ   rÌ   rÏ   rÒ   rÚ   rÞ   rã   ræ   rn   r¥   r¦   ré   rì   rò   rô   rÿ   r  r=   r#   r!   rº   rº   $  sï   „ ðHØ  ×!8Ñ!8Ñ9ðHØ@DÀWÁðHà	×	 Ñ	 óHðG¨X°h×6MÑ6MÑ-Nð GÐSWó Gò
,ò
,ò
ò
Yò+ò0ò4ð ‡[�[×ÑØò		
óñHóðHð ‡[�[×ÑØò 	
ó#ñHóI#ðHò>ò/òXóXr#   rº   c                   ó   — e Zd Zd„ Zy)ÚTestSelectiveParsingc                 ón   — d}t        d«      }| j                  ||¬«      }|j                  «       dk(  sJ ‚y )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   rC   rÙ   r   s       r!   Útest_parse_with_soupstrainerz1TestSelectiveParsing.test_parse_with_soupstrainerÍ  s8   € Ø9ˆÜ Ó$ˆØ�y‰y˜¨HˆyÓ5ˆØ�{‰{‹}Ð BÒBÐBÑBr#   N)rO   rP   rQ   r	  r=   r#   r!   r  r  Ì  s   „ óCr#   r  c                   ód   — e Zd ZdZd„ Zej                  j                  e d¬«      d„ «       Z	d„ Z
y)Ú
TestNewTagz(Test the BeautifulSoup.new_tag() method.c                 óä  — | j                  d«      }|j                  dddddi¬«      }t        |t        «      sJ ‚d|j                  k(  sJ ‚|j
                  dk(  sJ ‚t        dd¬«      |j                  k(  sJ ‚d |j                  u sJ ‚|j                  d«      }d |j
                  u sJ ‚|j                  dd ¬	«      }d |j
                  u sJ ‚|j                  dd¬	«      }d|j
                  k(  sJ ‚y )
NrZ   ÚfooÚtxtÚbazrÕ   za name)r   ÚbarÚattrs)r  rÕ   )r   )	r   Únew_tagra   r   rÕ   r   r^   r  Úparent)r   r   r  s      r!   Útest_new_tagzTestNewTag.test_new_tag×  sõ   € Ø�y‰y˜‹}ˆØ—,‘,˜u¨U¸ÀfÈhÐEW�,ÓXˆÜ˜'¤3Ô'Ð'Ð'Ø˜Ÿ™Ò$Ð$Ð$Ø�~‰~ Ò&Ð&Ð&Ü˜ HÔ-°·±Ò>Ð>Ð>Ø�w—~‘~Ñ%Ð%Ð%ð —,‘,˜uÓ%ˆØ�w—~‘~Ñ%Ð%Ð%Ø—,‘,˜u¨T�,Ó2ˆØ�w—~‘~Ñ%Ð%Ð%ð —,‘,˜u¨R�,Ó0ˆØ�W—^‘^Ò#Ð#Ñ#r#   z-lxml not installed, cannot parse XML document)Úreasonc                 ó´   — t        dd«      }|j                  d«      }|j                  d«      }d|j                  «       k(  sJ ‚d|j                  «       k(  sJ ‚y )NrZ   Ú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ê  sZ   € ô !  UÓ+ˆØ×!Ñ! $Ó'ˆØ× Ñ  Ó%ˆð ˜6Ÿ=™=›?Ò*Ð*Ð*Ø˜%Ÿ,™,›.Ò(Ð(Ñ(r#   c                 ó´   — t        dd«      }|j                  d«      }|j                  d«      }d|j                  «       k(  sJ ‚d|j                  «       k(  sJ ‚y )NrZ   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÷  sY   € Ü! " mÓ4ˆ	Ø×#Ñ# DÓ)ˆØ×"Ñ" 3Ó'ˆð ˜7Ÿ>™>Ó+Ò+Ð+Ð+Ø˜VŸ]™]›_Ò,Ð,Ñ,r#   N)rO   rP   rQ   Ú__doc__r  rn   r¥   Úskipifr   r  r#  r=   r#   r!   r  r  Ô  s@   „ Ù2ò$ð& ‡[�[×ÑØÐÐ!Pð ó ñ)óð)ó-r#   r  c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚTestNewStringz+Test the BeautifulSoup.new_string() method.c                 óz   — | j                  d«      }|j                  d«      }d|k(  sJ ‚t        |t        «      sJ ‚y ©NrZ   r  )r   Ú
new_stringra   r   ©r   r   rœ   s      r!   Ú'test_new_string_creates_navigablestringz5TestNewString.test_new_string_creates_navigablestring  s9   € Ø�y‰y˜‹}ˆØ�O‰O˜EÓ"ˆØ˜ŠzÐˆzÜ˜!œ_Ô-Ð-Ñ-r#   c                 ó„   — | j                  d«      }|j                  dt        «      }d|k(  sJ ‚t        |t        «      sJ ‚y r)  )r   r*  r
   ra   r+  s      r!   Ú3test_new_string_can_create_navigablestring_subclasszATestNewString.test_new_string_can_create_navigablestring_subclass  s;   € Ø�y‰y˜‹}ˆØ�O‰O˜E¤7Ó+ˆØ˜ŠzÐˆzÜ˜!œWÔ%Ð%Ñ%r#   N)rO   rP   rQ   r$  r,  r.  r=   r#   r!   r'  r'    s   „ Ù5ò.ó&r#   r'  c                   ó   — e Zd Zd„ Zd„ Zy)Ú
TestPicklec                 ó°   — | j                  d«      }t        j                  |«      }t        j                  |«      }d|j                  j
                  k(  sJ ‚y )Nz<a>some markup</a>úsome markup)r   ÚpickleÚdumpsÚloadsrt   r   ©r   r   ÚpickledÚ	unpickleds       r!   Útest_normal_picklezTestPickle.test_normal_pickle  sE   € Ø�y‰yÐ-Ó.ˆÜ—,‘,˜tÓ$ˆÜ—L‘L Ó)ˆ	Ø 	§¡× 2Ñ 2Ò2Ð2Ñ2r#   c                 óª   — | j                  d«      }d |_        t        j                  |«      }t        j                  |«      }d|j
                  k(  sJ ‚y )Nr2  )r   r[   r3  r4  r5  r   r6  s       r!   Útest_pickle_with_no_builderz&TestPickle.test_pickle_with_no_builder  sI   € ð �y‰y˜Ó'ˆØˆŒÜ—,‘,˜tÓ$ˆÜ—L‘L Ó)ˆ	Ø 	× 0Ñ 0Ò0Ð0Ñ0r#   N)rO   rP   rQ   r9  r;  r=   r#   r!   r0  r0    s   „ ò3ó1r#   r0  c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestEncodingConversionc                 ót   — d| _         | j                   j                  d«      | _        | j                  dk(  sJ ‚y )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+   rF   s    r!   Úsetup_methodz#TestEncodingConversion.setup_method)  sB   € ð UˆÔØ×*Ñ*×1Ñ1°'Ó:ˆŒð �N‰NØmònð	
ñnr#   c                 ó<  — t         j                  }t        j                  t        j                  «       	 d„ }|t         _        d}| j                  |«      }|j                  «       }t        |t        «      sJ ‚|| j                  |j                  «       «      k(  sJ ‚|j                  j                  «       dk(  sJ ‚	 t        j                  t        j                  «       |t         _        y # t        j                  t        j                  «       |t         _        w xY w)Nc                  ó   — y r<   r=   )rb   s    r!   Únoopz>TestEncodingConversion.test_ascii_in_unicode_out.<locals>.noop9  s   € Ør#   s   <foo>a</foo>r'   )r   Ú_chardet_dammitÚloggingÚdisableÚWARNINGr   r®   ra   rb   Údocument_forr*   ÚlowerÚNOTSET)r   ÚchardetrC  ÚasciiÚsoup_from_asciiÚunicode_outputs         r!   Útest_ascii_in_unicode_outz0TestEncodingConversion.test_ascii_in_unicode_out2  sÔ   € ô ×(Ñ(ˆÜ�‰œŸ™Ô(ð	-òð &*ŒFÔ"Ø#ˆEØ"Ÿi™i¨Ó.ˆOØ,×3Ñ3Ó5ˆNÜ˜n¬cÔ2Ð2Ð2Ø! T×%6Ñ%6°u·|±|³~Ó%FÒFÐFÐFØ"×4Ñ4×:Ñ:Ó<ÀÒGÐGÑGä�O‰OœGŸN™NÔ+Ø%,ŒFÕ"øô �O‰OœGŸN™NÔ+Ø%,ŒFÕ"ús   µBC+ Ã+0Dc                 óÊ   — | j                  | j                  «      }|j                  «       | j                  k(  sJ ‚|j                  j                  dk(  sJ ‚|j
                  �J ‚y ©Nu   SacrÃ© bleu!)r   r?  r®   r  r   r*   ©r   Úsoup_from_unicodes     r!   Útest_unicode_in_unicode_outz2TestEncodingConversion.test_unicode_in_unicode_outH  sc   € ð !ŸI™I d×&7Ñ&7Ó8ÐØ ×'Ñ'Ó)¨T×->Ñ->Ò>Ð>Ð>Ø ×$Ñ$×+Ñ+Ð/?Ò?Ð?Ð?Ø ×2Ñ2Ð:Ð:Ñ:r#   c                 ó®   — | j                  | j                  «      }|j                  «       | j                  k(  sJ ‚|j                  j
                  dk(  sJ ‚y rQ  )r   r+   r®   r?  r  r   )r   Úsoup_from_utf8s     r!   Útest_utf8_in_unicode_outz/TestEncodingConversion.test_utf8_in_unicode_outP  sN   € ð Ÿ™ 4§>¡>Ó2ˆØ×$Ñ$Ó&¨$×*;Ñ*;Ò;Ð;Ð;Ø×!Ñ!×(Ñ(Ð,<Ò<Ð<Ñ<r#   c                 óz   — | j                  | j                  «      }|j                  d«      | j                  k(  sJ ‚y )Nr'   )r   r?  r)   r+   rR  s     r!   Útest_utf8_outz$TestEncodingConversion.test_utf8_outW  s4   € à ŸI™I d×&7Ñ&7Ó8ÐØ ×'Ñ'¨Ó0°D·N±NÒBÐBÑBr#   N)rO   rP   rQ   r@  rO  rT  rW  rY  r=   r#   r!   r=  r=  %  s   „ ò
ò-ò,;ò=óCr#   r=  )'r$  rE  r3  rn   Útypingr   Úbs4r   r   r   Úbs4.builderr   Úbs4.elementr   r	   r
   r   r   r   Ú
bs4.filterr   Úbs4.exceptionsr   Úbs4._warningsr   rZ   r   r   r   r_   r   r   r¨   rº   r  r  r'  r0  r=  r=   r#   r!   ú<module>ra     s¼   ðá )ã Û Û Ý ÷ñ õ
÷÷ õ $õõ÷
ñ ó
 Ý ôH
�hô H
ôV+4�ô +4ô\eX�8ô eXôPC˜8ô Cô+-�ô +-ô\&�Hô &ô 1�ô 1ô&5C˜Xõ 5Cr#   