ó
    |ch�X  ã                   óh  • S r SSKrSSKrSSKrSSKJr  SSKJrJrJ	r	  SSK
Jr  SSKJrJrJrJrJrJr  SSKJr  SSKJr  SS	KJr  S
SKJrJrJr  SSKrSSKJr   " S S\5      r " S S\5      r  " S S\5      r! " S S\5      r" " S S\5      r# " S S\5      r$ " S S\5      r% " S S\5      r&g)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                   ó�   • \ rS rSrS rS rS rS rS rS r	S r
S	 r\R                  R                  S
SSS /5      S 5       rSrg)ÚTestConstructoré+   c                 ób   • SnU R                  U5      nSUR                  R                  :X  d   eg )Nu   <h1>Ã©Ã©</h1>u   Ã©Ã©©ÚsoupÚh1Ústring©ÚselfÚdatar   s      Ú\/var/www/djangovue.mamus.xyz/django/venv/lib/python3.13/site-packages/bs4/tests/test_soup.pyÚtest_short_unicode_inputÚ(TestConstructor.test_short_unicode_input,   s*   € ØˆØ�y‰y˜‹ˆØ˜Ÿ™Ÿ™Ó'Ð'Ñ'ó    c                 ób   • SnU R                  U5      nSUR                  R                  :X  d   eg )Nz<h1>foo bar</h1>zfoo barr   r   s      r"   Útest_embedded_nullÚ"TestConstructor.test_embedded_null1   s*   € Ø"ˆØ�y‰y˜‹ˆØ˜TŸW™WŸ^™^Ó+Ð+Ñ+r%   c                 ól   • SR                  S5      nU R                  US/S9nSUR                  :X  d   eg )Nu   RÃ¤ksmÃ¶rgÃ¥súutf-8)Úexclude_encodingszwindows-1252)Úencoder   Úoriginal_encoding)r    Ú	utf8_datar   s      r"   Útest_exclude_encodingsÚ&TestConstructor.test_exclude_encodings6   s:   € Ø#×*Ñ*¨7Ó3ˆ	Ø�y‰y˜°w°iˆyÐ@ˆØ ×!7Ñ!7Ó7Ð7Ñ7r%   c                 óŠ  •  " S S[         5      n[        SSS9n[        R                  " SS9   [	        SSU0UD6nS S S 5        [        WR                  U5      (       d   e[        SS	9UR                  R                  :X  d   eS
UR                  R                  :X  d   eU" S0 UD6n[        R                  " SS9 n[	        SUSS9nS S S 5        [        WS   R                  5      nUR                  S5      (       d   eXCR                  :X  d   eX$R                  :X  d   eg ! , (       d  f       Ní= f! , (       d  f       Nr= f)Nc                   ó@   • \ rS rSrS rS rS rS rS r\=r	r
S rSrg	)
Ú7TestConstructor.test_custom_builder_class.<locals>.Mocké>   c                 ó‚   • Xl         SU l        SU l        / U l        / U l        0 U l        [        U l        [        U l	        g )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__Ú@TestConstructor.test_custom_builder_class.<locals>.Mock.__init__?   s?   € Ø#)Ô Ø"�”Ø*/�Ô'Ø-/�Ô*Ø02�Ô-Ø)+�Ô&Ü,<�Ô)Ü2D�Õ/r%   c                 ó   • g ©N© ©r    r   s     r"   Úinitialize_soupÚGTestConstructor.test_custom_builder_class.<locals>.Mock.initialize_soupI   ó   € Ør%   c                 ó   • Xl         g rB   )Úfed)r    Úmarkups     r"   ÚfeedÚ<TestConstructor.test_custom_builder_class.<locals>.Mock.feedL   s   € Ø!•r%   c                 ó   • g rB   rC   ©r    s    r"   ÚresetÚ=TestConstructor.test_custom_builder_class.<locals>.Mock.resetO   rG   r%   c                 ó   • g rB   rC   )r    Úignores     r"   rR   Ú>TestConstructor.test_custom_builder_class.<locals>.Mock.ignoreR   rG   r%   c              ?   ó   #   • Sv •  g 7f)N)úprepared markupzoriginal encodingzdeclared encodingzcontains replacement charactersrC   ©r    Úargsr>   s      r"   Úprepare_markupÚFTestConstructor.test_custom_builder_class.<locals>.Mock.prepare_markupW   s   é € ðó ùs   ‚)	r<   r=   r6   r9   rI   r7   r:   r8   r;   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   rE   rK   rO   rR   Úset_up_substitutionsÚcan_be_empty_elementrX   Ú__static_attributes__rC   r%   r"   ÚMockr3   >   s0   † òEòò"òòð ;AÐ@Ð Ð#7õr%   ra   ÚvalueT)ÚvarÚconvertEntities©ÚrecordÚ Úbuilder)rc   rU   )rh   Úignored_valuer   zCKeyword arguments to the BeautifulSoup constructor will be ignored.)rg   rC   )ÚobjectÚdictÚwarningsÚcatch_warningsr   Ú
isinstancerh   r6   rI   ÚstrÚmessageÚ
startswith)r    ra   r>   r   rh   ÚwÚmsgs          r"   Útest_custom_builder_classÚ)TestConstructor.test_custom_builder_class;   s3  € ô	”6ô 	ôB Øð !ñ	
ˆô ×$Ò$¨DÓ1Ü Ñ<¨TÐ<°VÑ<ˆD÷ 2ä˜$Ÿ,™,¨×-Ñ-Ð-Ð-Ü˜Ñ  D§L¡L×$<Ñ$<Ó<Ð<Ð<Ø  D§L¡L×$4Ñ$4Ó4Ð4Ð4ñ
 ‘.˜‘.ˆÜ×$Ò$¨DÒ1°QÜ ØØØ"ñˆD÷ 2ô �!�A‘$—,‘,ÓˆØ�~‰~ØQ÷
ñ 
ð 	
ð 
ð Ÿ,™,Ó&Ð&Ð&Ø×,Ñ,Ó,Ð,Ñ,÷+ 2Õ1ú÷ 2Õ1ús   ®D#Â<D4Ä#
D1Ä4
Ec                 óÚ   •  " S S[         5      nS n[        R                  " [        5       n[	        SUS9  S S S 5        S[        WR                  5      ;   d   eg ! , (       d  f       N*= f)Nc                   ó   • \ rS rSrS rSrg)Ú:TestConstructor.test_parser_markup_rejection.<locals>.Mocké   c                 ó   • [        S5      e)NzNope.r   rV   s      r"   rK   Ú?TestConstructor.test_parser_markup_rejection.<locals>.Mock.feed€   s   € Ü*¨7Ó3Ð3r%   rC   N)rZ   r[   r\   r]   rK   r`   rC   r%   r"   ra   rx      s   † õ4r%   ra   c              ?   ó,   #   • US S S4v •  US S S4v •  g 7f©NFrC   )r    rJ   rW   r>   s       r"   rX   ÚDTestConstructor.test_parser_markup_rejection.<locals>.prepare_markupƒ   s%   é € ð ˜$  eÐ+Ò+Ø˜$  eÐ+Ó+ùs   ‚rg   )rh   zoThe markup you provided was rejected by the parser. Trying a different parser or a different encoding may help.)r   ÚpytestÚraisesr   r   ro   rb   )r    ra   rX   Úexc_infos       r"   Útest_parser_markup_rejectionÚ,TestConstructor.test_parser_markup_rejection|   s]   € ô	4”;ô 	4ò	,ô �]Š]Ô/Ô0°HÜ˜" dÒ+÷ 1ð ~Ü�8—>‘>Ó"ó#ð	
ñ#÷ 1Õ0ús   ­AÁ
A*c                 óª  • SnU R                  U5      nUR                  nSUS   :X  d   eSS/US   :X  d   eU R                  U[        S S9nSUR                  S   :X  d   eSS0SS04 HU  n[        R                  " S	S
9   U R                  US US9nS S S 5        UR                  nSS/US   :X  d   eSUS   :X  a  MU   e   g ! , (       d  f       N7= f)Nz&<a id=" an id " class=" a class "></a>z an id ÚidÚaÚclass)rh   Úmulti_valued_attributesz	 a class Ú*Tre   Úan)r   r†   r   rl   rm   )r    rJ   r   r†   Ú
switcheroos        r"   Útest_cdata_list_attributesÚ*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À*ð !ð �÷ 6ð —‘ˆAØ˜$�< 1 T¡7Ó*Ð*Ð*Ø ! G¡*Õ,Ð,Ð,ò 5ß5Õ5ús   ÂCÃ
C	c           	      óø   ^^^•  " S S[         5      m " S S[        5      m " S S[        5      mU R                  S[         T[        T[        T0S9n[	        UUU4S	 jUR
                   5       5      (       d   eg )
Nc                   ó   • \ rS rSrSrg)Ú9TestConstructor.test_replacement_classes.<locals>.TagPlusé³   rC   N©rZ   r[   r\   r]   r`   rC   r%   r"   ÚTagPlusr�   ³   ó   † Úr%   r“   c                   ó   • \ rS rSrSrg)Ú<TestConstructor.test_replacement_classes.<locals>.StringPlusé¶   rC   Nr’   rC   r%   r"   Ú
StringPlusr–   ¶   r”   r%   r˜   c                   ó   • \ rS rSrSrg)Ú=TestConstructor.test_replacement_classes.<locals>.CommentPlusé¹   rC   Nr’   rC   r%   r"   ÚCommentPlusrš   ¹   r”   r%   rœ   z<a><b>foo</b>bar</a><!--whee-->)Úelement_classesc              3   óB   >#   • U  H  n[        UTTT45      v •  M     g 7frB   )rn   )Ú.0Úxrœ   r˜   r“   s     €€€r"   Ú	<genexpr>Ú;TestConstructor.test_replacement_classes.<locals>.<genexpr>Ç   s&   øé € ð 
ÚGWÀ!ŒJ�q˜7 J°Ð<×=Ð=ÒGWùs   ƒ)r   r   r
   r   ÚallÚdescendants)r    r   rœ   r˜   r“   s     @@@r"   Útest_replacement_classesÚ(TestConstructor.test_replacement_classes°   s   ú€ ô	”cô 	ô	œô 	ô	œ'ô 	ð �y‰yØ-ä�WÜ Ü˜ðð ð 
ˆô ö 
ØGK×GWÒGWó
÷ 
ñ 
ð 	
ñ 
r%   c                 ó˜  •  " S S[         5      n " S S[         5      nU R                  SUUS.S9n[        UR                  R                  S   [         5      (       d   e[        UR
                  R                  S   U5      (       d   eUR                  R                   H  n[        XB5      (       a  M   e   / UR                  :X  d   eg )	Nc                   ó   • \ rS rSrSrg)ÚATestConstructor.test_alternate_string_containers.<locals>.PStringéÎ   rC   Nr’   rC   r%   r"   ÚPStringr©   Î   r”   r%   r«   c                   ó   • \ rS rSrSrg)ÚATestConstructor.test_alternate_string_containers.<locals>.BStringéÑ   rC   Nr’   rC   r%   r"   ÚBStringr­   Ñ   r”   r%   r¯   z4<div>Hello.<p>Here is <b>some <i>bolded</i></b> text)ÚbÚp)r;   r   )	r   r   rn   ÚdivÚcontentsr±   r°   ÚstringsÚstring_container_stack)r    r«   r¯   r   Úss        r"   Ú test_alternate_string_containersÚ0TestConstructor.test_alternate_string_containersË   s¾   € ô	”oô 	ô	”oô 	ð �y‰yØBàØñð ð 
ˆô ˜$Ÿ(™(×+Ñ+¨AÑ.´×@Ñ@Ð@Ð@ô ˜$Ÿ&™&Ÿ/™/¨!Ñ,¨g×6Ñ6Ð6Ð6ð —‘—”ˆAÜ˜a×)Ó)Ð)Ð)ñ  ð
 �T×0Ñ0Ó0Ð0Ñ0r%   Ú
bad_markupr   Fc                 ó   • gr}   rC   )r    s    r"   Ú<lambda>ÚTestConstructor.<lambda>ì   s   € Àr%   c                 óÄ   • [         R                  " [        5       n[        US5        S S S 5        SU< S3[	        WR
                  5      ;   d   eg ! , (       d  f       N/= f)Núhtml.parserz'Incoming markup is of an invalid type: z?. Markup must be a string, a bytestring, or an open filehandle.)r   r€   Ú	TypeErrorr   ro   rb   )r    r¹   r�   s      r"   Útest_invalid_markup_typeÚ(TestConstructor.test_invalid_markup_typeì   sY   € ä�]Š]œ9Ô%¨Ü˜* mÔ4÷ &ð 6°j±^ð  DCð  DÜ�8—>‘>Ó"ó#ð	
ñ#÷ &Õ%ús   ›AÁ
ArC   N)rZ   r[   r\   r]   r#   r'   r/   rt   r‚   rŒ   r¥   r·   r   ÚmarkÚparametrizerÀ   r`   rC   r%   r"   r   r   +   sY   † ò(ò
,ò
8ò
?-òB
ò*-ò>
ò61ðB ‡[�[×Ñ˜\¨A¨u±oÐ+FÓGñ
ó Hó
r%   r   c                   óÞ   • \ rS rSr\R
                  R                  SSS/5      S 5       r\R
                  R                  S\ V Vs/ s H  oPM     snn S/-   5      S 5       r	S	 r
S
rgs  snn f )Ú
TestOutputéö   z!eventual_encoding,actual_encoding)r*   r*   )úutf-16rÇ   c                 óf   • U R                  S5      nSUl        SU S3UR                  US9:X  d   eg )Nú<tag></tag>Tz<?xml version="1.0" encoding="z"?>
<tag></tag>©Úeventual_encoding)r   r7   Údecode)r    rË   Úactual_encodingr   s       r"   Útest_decode_xml_declarationÚ&TestOutput.test_decode_xml_declaration÷   sG   € ð �y‰y˜Ó'ˆØˆŒà,¨_Ð,=Ð=MÐNØ�{‰{Ð->ˆ{Ð?ó@ð	
ñ@r%   rË   Nc                 óT   • [        SS5      nSUl        SUR                  US9:X  d   eg )NrÉ   r¾   Tz!<?xml version="1.0"?>
<tag></tag>rÊ   )r   r7   rÌ   )r    rË   r   s      r"   ÚMtest_decode_xml_declaration_with_missing_or_python_internal_eventual_encodingÚXTestOutput.test_decode_xml_declaration_with_missing_or_python_internal_eventual_encoding
  s=   € ô ˜]¨MÓ:ˆØˆŒØ3°t·{±{Ø/ð 8Cð 8
ó 
ð 	
ñ 
r%   c                 óÒ   • U R                  S5      nSUR                  SS9:X  d   eSUR                  SS9:X  d   eSUR                  5       :X  d   eSUR	                  5       :X  d   eg )NrÉ   s   <tag></tag>r*   )Úencodingz<tag>
</tag>
)r   r,   Úencode_contentsÚdecode_contentsÚprettifyrD   s     r"   ÚtestÚ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%   rC   )rZ   r[   r\   r]   r   rÂ   rÃ   rÎ   r   rÑ   rØ   r`   )rŸ   r    s   00r"   rÅ   rÅ   ö   s}   † Ø‡[�[×ÑØ+àØ ð	
óñ

óð

ð ‡[�[×ÑØÑ)BÔCÒ)B AšaÑ)BÒCÀtÀfÑLóñ

óð

õ4ùó Ds   ÁA)rÅ   c                   ó\  • \ rS rSrS\\R                     S\\   S\R                  4S jr	S\\R                     SS4S jr
S	 rS
 rS rS rS rS rS r\R&                  R)                  S/ SQ5      S 5       r\R&                  R)                  S/ SQ5      S 5       rS rS rS rS rSrg)ÚTestWarningsi$  rl   ÚclsÚreturnc                 ó¢   • U H8  n[        UR                  U5      (       d  M   UR                  [        :X  d   eUs  $    [	        U< SU< 35      e)Nz warning not found in )rn   rp   ÚfilenameÚ__file__Ú	Exception)r    rl   rÜ   rr   s       r"   Ú_assert_warningÚTestWarnings._assert_warning,  sH   € ó ˆAÜ˜!Ÿ)™) S×)Ó)Ø—z‘z¤XÓ-Ð-Ð-Ø’ñ ô »ºXÐFÓGÐGr%   rr   Nc                 ó¬   • U R                  U[        5      n[        UR                  5      nUR	                  [        R
                  S S 5      (       d   eg )Né<   )râ   r   ro   rp   rq   ÚMESSAGE)r    rr   Úwarningrp   s       r"   Ú_assert_no_parser_specifiedÚ(TestWarnings._assert_no_parser_specified5  sH   € Ø×&Ñ& qÔ*@ÓAˆÜ�g—o‘oÓ&ˆØ×!Ñ!Ô"8×"@Ñ"@ÀÀ"Ð"E×FÑFÐFÑFr%   c                 ó˜   • [         R                  " SS9 n[        S5        S S S 5        U R                  W5        g ! , (       d  f       N = f©NTre   ú<a><b></b></a>©rl   rm   r   rè   ©r    rr   s     r"   Ú#test_warning_if_no_parser_specifiedÚ0TestWarnings.test_warning_if_no_parser_specified:  s7   € Ü×$Ò$¨DÒ1°QÜÐ*Ô+÷ 2à×(Ñ(¨Õ+÷ 2Õ1ús	   •;»
A	c                 óš   • [         R                  " SS9 n[        SS5        S S S 5        U R                  W5        g ! , (       d  f       N = f)NTre   rì   Úhtmlrí   rî   s     r"   Ú*test_warning_if_parser_specified_too_vagueÚ7TestWarnings.test_warning_if_parser_specified_too_vague?  s9   € Ü×$Ò$¨DÒ1°QÜÐ*¨FÔ3÷ 2à×(Ñ(¨Õ+÷ 2Õ1ús	   •<¼
A
c                 ó’   • [         R                  " SS9 nU R                  S5        S S S 5        / W:X  d   eg ! , (       d  f       N= frë   ©rl   rm   r   rî   s     r"   Ú,test_no_warning_if_explicit_parser_specifiedÚ9TestWarnings.test_no_warning_if_explicit_parser_specifiedD  s8   € Ü×$Ò$¨DÒ1°QØ�I‰IÐ&Ô'÷ 2à�Q‹wˆ‰w÷ 2Õ1úó	   •8¸
Ac                 ó  • [        SSS9n[        R                  " SS9 nU R                  SUS9  S S S 5        U R	                  W[
        5      n[        UR                  5      nUR                  S5      (       d   eg ! , (       d  f       NR= f)	Nr†   r°   )Únamer   Tre   rì   ©Ú
parse_onlyz7The given value for parse_only will exclude everything:)	r   rl   rm   r   râ   ÚUserWarningro   rp   rq   )r    Ústrainerrr   rç   rs   s        r"   Ú+test_warning_if_strainer_filters_everythingÚ8TestWarnings.test_warning_if_strainer_filters_everythingI  ss   € Ü S°Ñ5ˆÜ×$Ò$¨DÒ1°QØ�I‰IÐ&°8ˆIÑ<÷ 2à×&Ñ& q¬+Ó6ˆÜ�'—/‘/Ó"ˆØ�~‰~ÐW×XÑXÐXÑX÷	 2Õ1ús   ŸA<Á<
B
c                 ó*  • [         R                  " SS9 n[        SS[        S5      S9nS S S 5        U R	                  W[
        5      n[        UR                  5      nSU;   d   eSU;   d   eS	WR                  5       :X  d   eg ! , (       d  f       N`= f)
NTre   rì   r¾   r°   )ÚparseOnlyTheser  rý   s   <b></b>)	rl   rm   r   r   râ   ÚDeprecationWarningro   rp   r,   )r    rr   r   rç   rs   s        r"   Ú)test_parseOnlyThese_renamed_to_parse_onlyÚ6TestWarnings.test_parseOnlyThese_renamed_to_parse_onlyQ  s‹   € Ü×$Ò$¨DÒ1°QÜ Ø ØÜ+¨CÓ0ñˆD÷ 2ð ×&Ñ& qÔ*<Ó=ˆÜ�'—/‘/Ó"ˆØ 3Ó&Ð&Ð&Ø˜sÓ"Ð"Ð"Ø˜TŸ[™[›]Ó*Ð*Ñ*÷ 2Õ1ús   •BÂ
Bc                 ó  • [         R                  " SS9 nSn[        USSS9nS S S 5        U R                  W[        5      n[        UR                  5      nSU;   d   eSU;   d   eSWR                  :X  d   eg ! , (       d  f       N\= f)	NTre   s   Ã©r¾   Úutf8)ÚfromEncodingr	  Úfrom_encoding)rl   rm   r   râ   r  ro   rp   r-   )r    rr   r  r   rç   rs   s         r"   Ú*test_fromEncoding_renamed_to_from_encodingÚ7TestWarnings.test_fromEncoding_renamed_to_from_encoding^  s†   € Ü×$Ò$¨DÒ1°QØˆDÜ   }À6ÑJˆD÷ 2ð ×&Ñ& qÔ*<Ó=ˆÜ�'—/‘/Ó"ˆØ Ó$Ð$Ð$Ø #Ó%Ð%Ð%Ø˜×/Ñ/Ó/Ð/Ñ/÷ 2Õ1ús   •A9Á9
Bc                 óŒ   • [         R                  " [        5         U R                  SSS9  S S S 5        g ! , (       d  f       g = f)Nz<a>T)Úno_such_argument)r   r€   r¿   r   rN   s    r"   Ú"test_unrecognized_keyword_argumentÚ/TestWarnings.test_unrecognized_keyword_argumenth  s*   € Ü�]Š]œ9Õ%Ø�I‰I�e¨dˆIÑ3÷ &×%Ö%ús	   ›5µ
ArJ   )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                 óÜ   • [         R                  " SS9 n[        US5        U R                  U[        5      nS[        UR                  5      ;   d   e S S S 5        g ! , (       d  f       g = f)NTre   r¾   zlooks more like a filename©rl   rm   r   râ   r   ro   rp   )r    rJ   rr   rç   s       r"   Útest_resembles_filename_warningÚ,TestWarnings.test_resembles_filename_warningl  sT   € ô  ×$Ò$¨DÒ1°QÜ˜& -Ô0Ø×*Ñ*¨1Ô.KÓLˆGØ/´3°w·±Ó3GÓGÐGÑG÷ 2×1Ö1ús   •>AÁ
A+)rß   Ú
markuphtmlz
markup.comrg   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                 ó’   • [         R                  " SS9 nU R                  U5        S S S 5        / W:X  d   eg ! , (       d  f       N= f)NTre   rö   )r    rJ   rr   s      r"   Ú"test_resembles_filename_no_warningÚ/TestWarnings.test_resembles_filename_no_warning�  s:   € ôP ×$Ò$¨DÒ1°QØ�I‰I�fÔ÷ 2à�Q‹wˆ‰w÷ 2Õ1úrù   c                 ó2  • Sn[         R                  " SS9 n[        US5        S S S 5        U R                  W[        5      nS[        UR                  5      ;   d   eU[        UR                  5      R                  S5      ;  d   eg ! , (       d  f       Nj= f)Ns   http://www.crummybytes.com/Tre   r¾   úlooks more like a URLr  )rl   rm   r   râ   r   ro   rp   r,   ©r    ÚurlÚwarning_listrç   s       r"   Útest_url_warning_with_bytes_urlÚ,TestWarnings.test_url_warning_with_bytes_url­  s{   € Ø,ˆÜ×$Ò$¨DÒ1°\Ü˜#˜}Ô-÷ 2à×&Ñ& |Ô5RÓSˆØ&¬#¨g¯o©oÓ*>Ó>Ð>Ð>Øœ#˜gŸo™oÓ.×5Ñ5°fÓ=Ó=Ð=Ñ=÷	 2Õ1ús   —BÂ
Bc                 ó  • Sn[         R                  " SS9 n[        US5        S S S 5        U R                  W[        5      nS[        UR                  5      ;   d   eU[        UR                  5      ;  d   eg ! , (       d  f       N[= f)Nzhttp://www.crummyunicode.com/Tre   r¾   r  r  r  s       r"   Ú!test_url_warning_with_unicode_urlÚ.TestWarnings.test_url_warning_with_unicode_urlµ  st   € Ø-ˆÜ×$Ò$¨DÒ1°\ô ˜#˜}Ô-÷ 2ð ×&Ñ& |Ô5RÓSˆØ&¬#¨g¯o©oÓ*>Ó>Ð>Ð>Øœ#˜gŸo™oÓ.Ó.Ð.Ñ.÷ 2Õ1ús   —A9Á9
Bc                 ó´   • [         R                  " SS9 nU R                  S5        S S S 5        [        S W 5       5      (       a   eg ! , (       d  f       N(= f)NTre   s$   http://www.crummybytes.com/ is greatc              3   óR   #   • U  H  nS [        UR                  5      ;   v •  M     g7f©r  N©ro   rp   ©rŸ   rr   s     r"   r¡   ÚETestWarnings.test_url_warning_with_bytes_and_space.<locals>.<genexpr>Ä  ó   é € ÐWÊ,ÀQÐ.´#°a·i±i³.Ö@Ê,ùó   ‚%'©rl   rm   r   Úany©r    r  s     r"   Ú%test_url_warning_with_bytes_and_spaceÚ2TestWarnings.test_url_warning_with_bytes_and_space¿  sI   € ô ×$Ò$¨DÒ1°\Ø�I‰IÐ=Ô>÷ 2äÑWÉ,ÓW×WÑWÐWÐWÐW÷ 2Õ1úó   •A	Á	
Ac                 ó´   • [         R                  " SS9 nU R                  S5        S S S 5        [        S W 5       5      (       a   eg ! , (       d  f       N(= f)NTre   z&http://www.crummyunicode.com/ is greatc              3   óR   #   • U  H  nS [        UR                  5      ;   v •  M     g7fr%  r&  r'  s     r"   r¡   ÚGTestWarnings.test_url_warning_with_unicode_and_space.<locals>.<genexpr>É  r)  r*  r+  r-  s     r"   Ú'test_url_warning_with_unicode_and_spaceÚ4TestWarnings.test_url_warning_with_unicode_and_spaceÆ  sG   € Ü×$Ò$¨DÒ1°\Ø�I‰IÐ>Ô?÷ 2äÑWÉ,ÓW×WÑWÐWÐWÐW÷ 2Õ1úr0  rC   )rZ   r[   r\   r]   r   rl   ÚWarningMessager   ÚWarningrâ   rè   rï   ró   r÷   r   r  r  r  r   rÂ   rÃ   r  r  r  r!  r.  r4  r`   rC   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                   ó   • \ rS rSrS rSrg)ÚTestSelectiveParsingiÌ  c                 óh   • Sn[        S5      nU R                  XS9nUR                  5       S:X  d   eg )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    rJ   rÿ   r   s       r"   Útest_parse_with_soupstrainerÚ1TestSelectiveParsing.test_parse_with_soupstrainerÍ  s6   € Ø9ˆÜ Ó$ˆØ�y‰y˜ˆyÐ5ˆØ�{‰{‹}Ð BÓBÐBÑBr%   rC   N)rZ   r[   r\   r]   r;  r`   rC   r%   r"   r9  r9  Ì  s   † õCr%   r9  c                   ón   • \ rS rSrSrS r\R                  R                  \	(       + SS9S 5       r
S rSrg	)
Ú
TestNewTagiÔ  z(Test the BeautifulSoup.new_tag() method.c                 óä  • U R                  S5      nUR                  SSSSS0S9n[        U[        5      (       d   eSUR                  :X  d   eUR
                  S:X  d   e[        SSS9UR                  :X  d   eS UR                  L d   eUR                  S5      nS UR
                  L d   eUR                  SS S	9nS UR
                  L d   eUR                  SSS	9nSUR
                  :X  d   eg )
Nrg   ÚfooÚtxtÚbazrû   za name)r   ÚbarÚattrs)rC  rû   )r   )	r   Únew_tagrn   r   rû   r   rk   rD  Úparent)r    r   rE  s      r"   Útest_new_tagÚ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                 ó¸   • [        SS5      nUR                  S5      nUR                  S5      nSUR                  5       :X  d   eSUR                  5       :X  d   eg )Nrg   ÚxmlÚbrr±   ó   <br/>s   <p/>©r   rE  r,   )r    Úxml_soupÚxml_brÚxml_ps       r"   Ú5test_xml_tag_inherits_self_closing_rules_from_builderÚ@TestNewTag.test_xml_tag_inherits_self_closing_rules_from_builderê  sZ   € ô !  UÓ+ˆØ×!Ñ! $Ó'ˆØ× Ñ  Ó%ˆð ˜6Ÿ=™=›?Ó*Ð*Ð*Ø˜%Ÿ,™,›.Ó(Ð(Ñ(r%   c                 ó¸   • [        SS5      nUR                  S5      nUR                  S5      nSUR                  5       :X  d   eSUR                  5       :X  d   eg )Nrg   r¾   rL  r±   rM  s   <p></p>rN  )r    Ú	html_soupÚhtml_brÚhtml_ps       r"   Ú1test_tag_inherits_self_closing_rules_from_builderÚ<TestNewTag.test_tag_inherits_self_closing_rules_from_builder÷  sY   € Ü! " mÓ4ˆ	Ø×#Ñ# DÓ)ˆØ×"Ñ" 3Ó'ˆð ˜7Ÿ>™>Ó+Ó+Ð+Ð+Ø˜VŸ]™]›_Ó,Ð,Ñ,r%   rC   N)rZ   r[   r\   r]   Ú__doc__rG  r   rÂ   Úskipifr   rR  rX  r`   rC   r%   r"   r>  r>  Ô  s@   † Ù2ò$ð& ‡[�[×ÑØÔÐ!Pð ð ñ)óð)õ-r%   r>  c                   ó$   • \ rS rSrSrS rS rSrg)ÚTestNewStringi  z+Test the BeautifulSoup.new_string() method.c                 ó†   • U R                  S5      nUR                  S5      nSU:X  d   e[        U[        5      (       d   eg ©Nrg   r@  )r   Ú
new_stringrn   r   ©r    r   r¶   s      r"   Ú'test_new_string_creates_navigablestringÚ5TestNewString.test_new_string_creates_navigablestring  s<   € Ø�y‰y˜‹}ˆØ�O‰O˜EÓ"ˆØ˜‹zÐˆzÜ˜!œ_×-Ñ-Ð-Ñ-r%   c                 ó�   • U R                  S5      nUR                  S[        5      nSU:X  d   e[        U[        5      (       d   eg r_  )r   r`  r
   rn   ra  s      r"   Ú3test_new_string_can_create_navigablestring_subclassÚATestNewString.test_new_string_can_create_navigablestring_subclass  s>   € Ø�y‰y˜‹}ˆØ�O‰O˜E¤7Ó+ˆØ˜‹zÐˆzÜ˜!œW×%Ñ%Ð%Ñ%r%   rC   N)rZ   r[   r\   r]   rZ  rb  re  r`   rC   r%   r"   r]  r]    s   † Ù5ò.õ&r%   r]  c                   ó    • \ rS rSrS rS rSrg)Ú
TestPicklei  c                 ó¶   • U R                  S5      n[        R                  " U5      n[        R                  " U5      nSUR                  R
                  :X  d   eg )Nz<a>some markup</a>úsome markup)r   ÚpickleÚdumpsÚloadsr†   r   ©r    r   ÚpickledÚ	unpickleds       r"   Útest_normal_pickleÚTestPickle.test_normal_pickle  sE   € Ø�y‰yÐ-Ó.ˆÜ—,’,˜tÓ$ˆÜ—L’L Ó)ˆ	Ø 	§¡× 2Ñ 2Ó2Ð2Ñ2r%   c                 ó°   • U R                  S5      nS Ul        [        R                  " U5      n[        R                  " U5      nSUR
                  :X  d   eg )Nrj  )r   rh   rk  rl  rm  r   rn  s       r"   Útest_pickle_with_no_builderÚ&TestPickle.test_pickle_with_no_builder  sI   € ð �y‰y˜Ó'ˆØˆŒÜ—,’,˜tÓ$ˆÜ—L’L Ó)ˆ	Ø 	× 0Ñ 0Ó0Ð0Ñ0r%   rC   N)rZ   r[   r\   r]   rq  rt  r`   rC   r%   r"   rh  rh    s   † ò3õ1r%   rh  c                   ó2   • \ rS rSrS rS rS rS rS rSr	g)	ÚTestEncodingConversioni%  c                 óv   • SU l         U R                   R                  S5      U l        U R                  S:X  d   eg )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.   rN   s    r"   Úsetup_methodÚ#TestEncodingConversion.setup_method)  sB   € ð UˆÔØ×*Ñ*×1Ñ1°'Ó:ˆŒð �N‰NØmónð	
ñnr%   c                 óN  • [         R                  n[        R                  " [        R                  5         S nU[         l        SnU R                  U5      nUR                  5       n[        U[        5      (       d   eXPR                  UR                  5       5      :X  d   eUR                  R                  5       S:X  d   e [        R                  " [        R                  5        U[         l        g ! [        R                  " [        R                  5        U[         l        f = f)Nc                 ó   • g rB   rC   )ro   s    r"   ÚnoopÚ>TestEncodingConversion.test_ascii_in_unicode_out.<locals>.noop9  s   € Ør%   s   <foo>a</foo>r*   )r   Ú_chardet_dammitÚloggingÚdisableÚWARNINGr   rÌ   rn   ro   Údocument_forr-   ÚlowerÚNOTSET)r    Úchardetr~  ÚasciiÚsoup_from_asciiÚunicode_outputs         r"   Útest_ascii_in_unicode_outÚ0TestEncodingConversion.test_ascii_in_unicode_out2  sÕ   € ô ×(Ñ(ˆÜ�ŠœŸ™Ô(ð	-òð &*ŒFÔ"Ø#ˆEØ"Ÿi™i¨Ó.ˆOØ,×3Ñ3Ó5ˆNÜ˜n¬c×2Ñ2Ð2Ð2Ø!×%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C3 Ã31D$c                 óÐ   • U R                  U R                  5      nUR                  5       U R                  :X  d   eUR                  R                  S:X  d   eUR
                  b   eg ©Nu   SacrÃ© bleu!)r   ry  rÌ   r@  r   r-   ©r    Úsoup_from_unicodes     r"   Útest_unicode_in_unicode_outÚ2TestEncodingConversion.test_unicode_in_unicode_outH  sc   € ð !ŸI™I d×&7Ñ&7Ó8ÐØ ×'Ñ'Ó)¨T×->Ñ->Ó>Ð>Ð>Ø ×$Ñ$×+Ñ+Ð/?Ó?Ð?Ð?Ø ×2Ñ2Ñ:Ð:Ñ:r%   c                 ó²   • U R                  U R                  5      nUR                  5       U R                  :X  d   eUR                  R
                  S:X  d   eg rŽ  )r   r.   rÌ   ry  r@  r   )r    Úsoup_from_utf8s     r"   Útest_utf8_in_unicode_outÚ/TestEncodingConversion.test_utf8_in_unicode_outP  sN   € ð Ÿ™ 4§>¡>Ó2ˆØ×$Ñ$Ó&¨$×*;Ñ*;Ó;Ð;Ð;Ø×!Ñ!×(Ñ(Ð,<Ó<Ð<Ñ<r%   c                 ó|   • U R                  U R                  5      nUR                  S5      U R                  :X  d   eg )Nr*   )r   ry  r,   r.   r�  s     r"   Útest_utf8_outÚ$TestEncodingConversion.test_utf8_outW  s4   € à ŸI™I d×&7Ñ&7Ó8ÐØ ×'Ñ'¨Ó0°D·N±NÓBÐBÑBr%   )ry  r.   N)
rZ   r[   r\   r]   rz  r‹  r‘  r•  r˜  r`   rC   r%   r"   rw  rw  %  s   † ò
ò-ò,;ò=õCr%   rw  )'rZ  r�  rk  r   Útypingr   Úbs4r   r   r   Úbs4.builderr   Úbs4.elementr   r	   r
   r   r   r   Ú
bs4.filterr   Úbs4.exceptionsr   Úbs4._warningsr   rg   r   r   r   rl   r   r   rÅ   rÛ   r9  r>  r]  rh  rw  rC   r%   r"   Ú<module>r¡     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%   