Ë
    ò¦1hC?  ã                   ó¼   — d 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 ddlm	Z	m
Z
 ddlm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y)z*Tests of the bs4.element.PageElement classé    N)ÚBeautifulSoup)ÚAttributeValueListÚComment)ÚSoupStraineré   )ÚSoupTestc                   óF   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestEncodingz0Test the ability to encode objects into strings.c                 óœ   — d}| j                  |«      }|j                  j                  j                  d«      dj                  d«      k(  sJ ‚y )Nõ
   <b>â˜ƒ</b>úutf-8õ   â˜ƒ)ÚsoupÚbÚstringÚencode©ÚselfÚhtmlr   s      úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/bs4/tests/test_pageelement.pyÚ"test_unicode_string_can_be_encodedz/TestEncoding.test_unicode_string_can_be_encoded   s@   € Ø#ˆØ�y‰y˜‹ˆØ�v‰v�}‰}×#Ñ# GÓ,°×0DÑ0DÀWÓ0MÒMÐMÑMó    c                 óˆ   — d}| j                  |«      }|j                  j                  d«      |j                  d«      k(  sJ ‚y )Nr   r   ©r   r   r   r   s      r   Ú1test_tag_containing_unicode_string_can_be_encodedz>TestEncoding.test_tag_containing_unicode_string_can_be_encoded   s8   € Ø#ˆØ�y‰y˜‹ˆØ�v‰v�}‰}˜WÓ%¨¯©°WÓ)=Ò=Ð=Ñ=r   c                 ój   — d}| j                  |«      }|j                  j                  d«      dk(  sJ ‚y )Nr   Úasciis   <b>&#9731;</b>r   r   s      r   Ú<test_encoding_substitutes_unrecognized_characters_by_defaultzITestEncoding.test_encoding_substitutes_unrecognized_characters_by_default!   s0   € Ø#ˆØ�y‰y˜‹ˆØ�v‰v�}‰}˜WÓ%Ð):Ò:Ð:Ñ:r   c                 ó¬   — d}| j                  |«      }t        j                  t        «      5  |j	                  dd¬«       d d d «       y # 1 sw Y   y xY w)Nr   r   Ústrict)Úerrors)r   ÚpytestÚraisesÚUnicodeEncodeErrorr   r   s      r   Ú test_encoding_can_be_made_strictz-TestEncoding.test_encoding_can_be_made_strict&   sF   € Ø#ˆØ�y‰y˜‹ˆÜ�]‰]Ô-Ó.ñ 	2Ø�K‰K˜¨ˆKÔ1÷	2÷ 	2ñ 	2ús   ­A
Á
Ac                 óh   — d}| j                  |«      }d|j                  j                  «       k(  sJ ‚y )Nr   r   )r   r   Údecode_contentsr   s      r   Útest_decode_contentsz!TestEncoding.test_decode_contents,   s/   € Ø#ˆØ�y‰y˜‹ˆØ §¡× 6Ñ 6Ó 8Ò8Ð8Ñ8r   c                 óŠ   — d}| j                  |«      }dj                  d«      |j                  j                  d¬«      k(  sJ ‚y )Nr   r   Úutf8)Úencoding)r   r   r   Úencode_contentsr   s      r   Útest_encode_contentsz!TestEncoding.test_encode_contents1   s?   € Ø#ˆØ�y‰y˜‹ˆØ×#Ñ# FÓ+¨t¯v©v×/EÑ/EÈvÐ/EÓ/VÒVÐVÑVr   c                 óª   — t        j                  «       dz   }d|z  }| j                  |«      }|j                  «       }||j	                  d«      k(  sJ ‚y )Nr   ú<span>s   <span>)ÚsysÚgetrecursionlimitr   r   Úcount)r   ÚlimitÚmarkupr   Úencodeds        r   Ú"test_encode_deeply_nested_documentz/TestEncoding.test_encode_deeply_nested_document6   sQ   € ô ×%Ñ%Ó'¨!Ñ+ˆØ˜EÑ!ˆØ�y‰y˜Ó ˆØ—+‘+“-ˆØ˜Ÿ™ iÓ0Ò0Ð0Ñ0r   c                 ót  — d}| j                  |«      }t        j                  d¬«      5 }|j                  «        dj	                  d«      |j
                  j                  «       k(  sJ ‚	 d d d «       D �cg c]  }t        |j                  «      ‘Œ }}t        d„ |D «       «      sJ ‚y # 1 sw Y   Œ@xY wc c}w )Nr   T)Úrecordr   r*   c              3   ó&   K  — | ]	  }|d k(  –— Œ y­w)zjCall to deprecated method renderContents. (Replaced by encode_contents) -- Deprecated since version 4.0.0.N© )Ú.0Úxs     r   ú	<genexpr>z>TestEncoding.test_deprecated_renderContents.<locals>.<genexpr>G   s#   è ø€ ò 
ð ð Ø{õ|ñ
ùs   ‚)	r   ÚwarningsÚcatch_warningsÚrenderContentsr   r   ÚstrÚmessageÚall)r   r   r   ÚwÚwarningÚmsgss         r   Útest_deprecated_renderContentsz+TestEncoding.test_deprecated_renderContents@   s²   € Ø#ˆØ�y‰y˜‹ˆÜ×$Ñ$¨DÔ1ð 	K°QØ×ÑÔ!Ø ×'Ñ'¨Ó/°4·6±6×3HÑ3HÓ3JÒJÐJÑJ÷	Kð 56Ö6¨”�G—O‘OÕ$Ð6ˆÐ6Üñ 
ð ô
ô 
ð 	
ñ 
÷		Kð 	Küò 7s   ª?B)Á6B5Â)B2c                 óJ   — d}| j                  |«      }|t        |«      k(  sJ ‚y ©Nr   )r   Úreprr   s      r   Ú	test_reprzTestEncoding.test_reprM   s&   € Ø#ˆØ�y‰y˜‹ˆØ”t˜D“zÒ!Ð!Ñ!r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r%   r(   r-   r6   rG   rK   r:   r   r   r
   r
      s4   „ Ù:òNò
>ò
;ò
2ò9ò
Wò
1ò
ó"r   r
   c                   óv   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestFormatterszrTest the formatting feature, used by methods like decode() and
    prettify(), and the formatters themselves.
    c                 óz   — d}| j                  |«      }|j                  d¬«      }|| j                  d«      k(  sJ ‚y ©Nõ#   <b>&lt;&lt;SacrÃ© bleu!&gt;&gt;</b>Úminimal©Ú	formatter©r   ÚdecodeÚdocument_for©r   r4   r   Údecodeds       r   Ú!test_default_formatter_is_minimalz0TestFormatters.test_default_formatter_is_minimalX   óG   € ØWˆØ�y‰y˜Ó ˆØ—+‘+¨	�+Ó2ˆà˜$×+Ñ+ØRó
ò 
ð 	
ñ 
r   c                 óz   — d}| j                  |«      }|j                  d¬«      }|| j                  d«      k(  sJ ‚y )Nõ'   <br><b>&lt;&lt;SacrÃ© bleu!&gt;&gt;</b>r   rV   z.<br/><b>&lt;&lt;Sacr&eacute; bleu!&gt;&gt;</b>rX   r[   s       r   Útest_formatter_htmlz"TestFormatters.test_formatter_htmla   sL   € àVð 	ð �y‰y˜Ó ˆØ—+‘+¨�+Ó/ˆØ˜$×+Ñ+Ø<ó
ò 
ð 	
ñ 
r   c                 óz   — d}| j                  |«      }|j                  d¬«      }|| j                  d«      k(  sJ ‚y )Nr`   Úhtml5rV   z-<br><b>&lt;&lt;Sacr&eacute; bleu!&gt;&gt;</b>rX   r[   s       r   Útest_formatter_html5z#TestFormatters.test_formatter_html5k   sL   € àVð 	ð �y‰y˜Ó ˆØ—+‘+¨�+Ó0ˆØ˜$×+Ñ+Ø;ó
ò 
ð 	
ñ 
r   c                 óz   — d}| j                  |«      }|j                  d¬«      }|| j                  d«      k(  sJ ‚y rS   rX   r[   s       r   Útest_formatter_minimalz%TestFormatters.test_formatter_minimalu   r^   r   c                 óz   — d}| j                  |«      }|j                  d ¬«      }|| j                  d«      k(  sJ ‚y )NrT   rV   u   <b><<SacrÃ© bleu!>></b>rX   r[   s       r   Útest_formatter_nullz"TestFormatters.test_formatter_null~   sI   € ØWˆØ�y‰y˜Ó ˆØ—+‘+¨�+Ó-ˆð ˜$×+Ñ+ØFó
ò 
ð 	
ñ 
r   c                 ó|   — d}| j                  |«      }|j                  d„ ¬«      }|| j                  d«      k(  sJ ‚y )Nz!<b>&lt;foo&gt;</b><b>bar</b><br/>c                 ó"   — | j                  «       S ©N©Úupper©r<   s    r   ú<lambda>z6TestFormatters.test_formatter_custom.<locals>.<lambda>‹   s   € °!·'±'³)€ r   rV   z<b><FOO></b><b>BAR</b><br/>rX   r[   s       r   Útest_formatter_customz$TestFormatters.test_formatter_customˆ   sB   € Ø4ˆØ�y‰y˜Ó ˆØ—+‘+Ñ(;�+Ó<ˆð ˜$×+Ñ+Ð,IÓJÒJÐJÑJr   c                 ó2  — d}| j                  |«      }|j                  }d}||j                  «       k(  sJ ‚||j                  d¬«      k(  sJ ‚d}||j                  d¬«      k(  sJ ‚||j                  d ¬«      k(  sJ ‚d}||j                  d„ ¬«      k(  sJ ‚y )	Nu%   <a href="http://a.com?a=b&c=Ã©">e</a>u)   <a href="http://a.com?a=b&amp;c=Ã©">e</a>rU   rV   z/<a href="http://a.com?a=b&amp;c=&eacute;">e</a>r   u%   <a href="HTTP://A.COM?A=B&C=Ã‰">E</a>c                 ó"   — | j                  «       S rk   rl   rn   s    r   ro   zJTestFormatters.test_formatter_is_run_on_attribute_values.<locals>.<lambda>Ÿ   s   € ¸A¿G¹G»I€ r   )r   ÚarY   )r   r4   r   rs   Úexpect_minimalÚexpect_htmlÚexpect_uppers          r   Ú)test_formatter_is_run_on_attribute_valuesz8TestFormatters.test_formatter_is_run_on_attribute_values�   s¦   € Ø8ˆØ�y‰y˜Ó ˆØ�F‰FˆàDˆà §¡£Ò+Ð+Ð+Ø §¡°I Ó!>Ò>Ð>Ð>àGˆØ˜aŸh™h°˜hÓ8Ò8Ð8Ð8à˜Ÿ™¨D˜Ó1Ò1Ð1Ð1Ø>ˆØ˜qŸx™xÑ2E˜xÓFÒFÐFÑFr   c                 óH   — d}t        |d«      j                  «       }d|v sJ ‚y )NzO
  <script type="text/javascript">
   console.log("< < hey > > ");
  </script>
úhtml.parseró   < < hey > >©r   r   ©r   Údocr5   s      r   Ú2test_formatter_skips_script_tag_for_html_documentszATestFormatters.test_formatter_skips_script_tag_for_html_documents¡   ó.   € ðˆô
    ]Ó3×:Ñ:Ó<ˆØ Ñ(Ð(Ñ(r   c                 óH   — d}t        |d«      j                  «       }d|v sJ ‚y )NzF
  <style type="text/css">
   console.log("< < hey > > ");
  </style>
ry   rz   r{   r|   s      r   Ú1test_formatter_skips_style_tag_for_html_documentsz@TestFormatters.test_formatter_skips_style_tag_for_html_documentsª   r   r   c                 ód   — | j                  d«      }d|j                  j                  «       k(  sJ ‚y )NzN<div>  foo  <pre>  	bar
  
  </pre>  baz  <textarea> eee
fff	</textarea></div>zP<div>
 foo
 <pre>  	bar
  
  </pre>
 baz
 <textarea> eee
fff	</textarea>
</div>
©r   ÚdivÚprettify©r   r   s     r   Ú,test_prettify_leaves_preformatted_text_alonez;TestFormatters.test_prettify_leaves_preformatted_text_alone³   s8   € Ø�y‰yØaó
ˆð jØ�x‰x× Ñ Ó"ò#ð	
ñ#r   c                 ól   — d}d}| j                  |«      }||j                  j                  «       k(  sJ ‚y )NzR<div><pre><code>some
<script><pre>code</pre></script> for you 
</code></pre></div>zV<div>
 <pre><code>some
<script><pre>code</pre></script> for you 
</code></pre>
</div>
rƒ   )r   r4   Úexpectr   s       r   Ú0test_prettify_handles_nested_string_literal_tagsz?TestFormatters.test_prettify_handles_nested_string_literal_tags¾   s;   € ðˆðˆð �y‰y˜Ó ˆØ˜Ÿ™×*Ñ*Ó,Ò,Ð,Ñ,r   c                 óN   — t        dd«      }|j                  d„ ¬«      }d|v sJ ‚y )Nz<html><body>foo</body></html>ry   c                 ó"   — | j                  «       S rk   rl   rn   s    r   ro   zITestFormatters.test_prettify_accepts_formatter_function.<locals>.<lambda>Ø   s   € °1·7±7³9€ r   rV   ÚFOO)r   r…   )r   r   Úprettys      r   Ú(test_prettify_accepts_formatter_functionz7TestFormatters.test_prettify_accepts_formatter_functionÖ   s,   € ÜÐ<¸mÓLˆØ—‘Ñ)<�Ó=ˆØ˜‰Ð‰r   c                 óh   — | j                  d«      }t        t        |j                  «       «      u sJ ‚y )Nú<a></a>)r   rA   Útyper…   r†   s     r   Ú(test_prettify_outputs_unicode_by_defaultz7TestFormatters.test_prettify_outputs_unicode_by_defaultÛ   s)   € Ø�y‰y˜Ó#ˆÜ”d˜4Ÿ=™=›?Ó+Ñ+Ð+Ñ+r   c                 ój   — | j                  d«      }t        t        |j                  d«      «      u sJ ‚y )Nr‘   r   )r   Úbytesr’   r…   r†   s     r   Útest_prettify_can_encode_dataz,TestFormatters.test_prettify_can_encode_dataß   s,   € Ø�y‰y˜Ó#ˆÜœ˜TŸ]™]¨7Ó3Ó4Ñ4Ð4Ñ4r   c                 óŒ   — d}| j                  |«      }|j                  j                  d«      }||j                  d«      k(  sJ ‚y )Nu   <b>SacrÃ© bleu!</b>r   r   )r   r4   r   r5   s       r   Ú,test_html_entity_substitution_off_by_defaultz;TestFormatters.test_html_entity_substitution_off_by_defaultã   s>   € ØGˆØ�y‰y˜Ó ˆØ—&‘&—-‘- Ó(ˆØ˜&Ÿ-™-¨Ó0Ò0Ð0Ñ0r   c                 ó(  — d}| j                  |«      }|j                  d   dk(  sJ ‚|j                  d«      }d|v sJ ‚|j                  d«      }d|v sJ ‚|j                  d«      }d	|v sJ ‚|j                  d
«      j                  d
«      }d|v sJ ‚y )NzE<meta content="text/html; charset=x-sjis" http-equiv="Content-type"/>Úcontentztext/html; charset=x-sjisr   s   charset=utf-8Úeuc_jps   charset=euc_jpz	shift-jiss   charset=shift-jiszutf-16zcharset=utf-16)r   Úmetar   rY   )r   Úmeta_tagr   Úutf_8r›   Ú	shift_jisÚutf_16_us          r   Útest_encoding_substitutionz)TestFormatters.test_encoding_substitutioné   s´   € ð Wð 	ð �y‰y˜Ó"ˆð �y‰y˜Ñ#Ð'BÒBÐBÐBð —‘˜GÓ$ˆØ 5Ñ(Ð(Ð(à—‘˜XÓ&ˆØ  FÑ*Ð*Ð*à—K‘K Ó,ˆ	Ø# yÑ0Ð0Ð0à—;‘;˜xÓ(×/Ñ/°Ó9ˆØ 8Ñ+Ð+Ñ+r   c                 ó€   — d}t        d«      }| j                  ||¬«      }|j                  d   j                  dk(  sJ ‚y )Nz`<head><meta content="text/html; charset=x-sjis" http-equiv="Content-type"/></head><pre>foo</pre>Úpre)Ú
parse_onlyr   )r   r   ÚcontentsÚname)r   r4   Ústrainerr   s       r   Ú;test_encoding_substitution_doesnt_happen_if_tag_is_strainedzJTestFormatters.test_encoding_substitution_doesnt_happen_if_tag_is_strained  sG   € ð?ð 	ô   Ó&ˆØ�y‰y˜¨HˆyÓ5ˆØ�}‰}˜QÑ×$Ñ$¨Ò-Ð-Ñ-r   N)rL   rM   rN   rO   r]   ra   rd   rf   rh   rp   rw   r~   r�   r‡   rŠ   r�   r“   r–   r˜   r¡   r¨   r:   r   r   rQ   rQ   S   s^   „ ñò
ò
ò
ò
ò
òKòGò")ò)ò	
ò-ò0ò
,ò5ò1ò,ó2.r   rQ   c                   óR   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zy)ÚTestPersistencez*Testing features like pickle and deepcopy.c                 óR   — d| _         | j                  | j                   «      | _        y )Nay  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Beautiful Soup: We called him Tortoise because he taught us.</title>
<link rev="made" href="mailto:leonardr@segfault.org">
<meta name="Description" content="Beautiful Soup: an HTML parser optimized for screen-scraping.">
<meta name="generator" content="Markov Approximation 1.4 (module: leonardr)">
<meta name="author" content="Leonard Richardson">
</head>
<body>
<a href="foo">foo</a>
<a href="foo"><b>bar</b></a>
</body>
</html>)Úpager   Útree)r   s    r   Úsetup_methodzTestPersistence.setup_method  s!   € ðˆŒ	ð  —I‘I˜dŸi™iÓ(ˆ�	r   c                 óò   — t        j                  | j                  d«      }t        j                  |«      }|j                  t
        k(  sJ ‚|j                  «       | j                  j                  «       k(  sJ ‚y )Né   )ÚpickleÚdumpsr­   ÚloadsÚ	__class__r   rY   )r   ÚdumpedÚloadeds      r   Ú!test_pickle_and_unpickle_identityz1TestPersistence.test_pickle_and_unpickle_identity&  s[   € ô —‘˜dŸi™i¨Ó+ˆÜ—‘˜fÓ%ˆØ×Ñ¤=Ò0Ð0Ð0Ø�}‰}‹ $§)¡)×"2Ñ"2Ó"4Ò4Ð4Ñ4r   c                 óœ   — t        j                  | j                  «      }|j                  «       | j                  j                  «       k(  sJ ‚y rk   )ÚcopyÚdeepcopyr­   rY   )r   Úcopieds     r   Útest_deepcopy_identityz&TestPersistence.test_deepcopy_identity.  s5   € ä—‘˜tŸy™yÓ)ˆØ�}‰}‹ $§)¡)×"2Ñ"2Ó"4Ò4Ð4Ñ4r   c                 ó²   — t        j                  «       dz   }d|z  }| j                  |«      }t        j                  |«       t        j                  |«       y )Nr   r/   )r0   r1   r   r¹   rº   )r   r3   r4   r   s       r   Ú test_copy_deeply_nested_documentz0TestPersistence.test_copy_deeply_nested_document3  sF   € ô ×%Ñ%Ó'¨!Ñ+ˆØ˜EÑ!ˆà�y‰y˜Ó ˆä�	‰	�$ŒÜ�‰�dÕr   c                 ó–   — t        dd«      }|j                  }|j                  «       }dt        |«      k(  sJ ‚||j                  k(  sJ ‚y )Ns   <p>&nbsp;</p>ry   u	   <p>Â </p>)r   Úoriginal_encodingÚ__copy__rA   )r   r   r+   r¹   s       r   Útest_copy_preserves_encodingz,TestPersistence.test_copy_preserves_encoding?  sK   € ÜÐ-¨}Ó=ˆØ×)Ñ)ˆØ�}‰}‹ˆØœc $›iÒ'Ð'Ð'Ø˜4×1Ñ1Ò1Ð1Ñ1r   c                 óº  — | j                  d«      j                  }d|_        d|_        |j	                  «       }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j
                  |j
                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚y )Nz<p></p>é
   é!   )	r   ÚpÚ
sourcelineÚ	sourceposrÁ   Úcan_be_empty_elementÚcdata_list_attributesÚpreserve_whitespace_tagsÚinteresting_string_types)r   Útagr»   s      r   Ú'test_copy_preserves_builder_informationz7TestPersistence.test_copy_preserves_builder_informationF  sË   € Ø�i‰i˜	Ó"×$Ñ$ˆð ˆŒØˆŒà—‘“ˆð �~‰~ ×!2Ñ!2Ò2Ð2Ð2Ø�}‰} × 0Ñ 0Ò0Ð0Ð0Ø×'Ñ'¨6×+FÑ+FÒFÐFÐFØ×(Ñ(¨F×,HÑ,HÒHÐHÐHØ×+Ñ+¨v×/NÑ/NÒNÐNÐNØ×+Ñ+¨v×/NÑ/NÒNÐNÑNr   c                 óâ   — d}| j                  |«      }t        j                  |t        j                  «      }t        j                  |«      }|j                  «       |j                  «       k(  sJ ‚y rI   )r   r±   r²   ÚHIGHEST_PROTOCOLr³   rY   )r   r   r   rµ   r¶   s        r   Útest_unicode_picklez#TestPersistence.test_unicode_pickleX  sR   € à#ˆØ�y‰y˜‹ˆÜ—‘˜d¤F×$;Ñ$;Ó<ˆÜ—‘˜fÓ%ˆØ�}‰}‹ $§+¡+£-Ò/Ð/Ñ/r   c                 ó&  — d}| j                  |«      }|j                  d¬«      }t        j                  |«      }||k(  sJ ‚d |j                  u sJ ‚d |j                  u sJ ‚d |j
                  usJ ‚d |j
                  u sJ ‚d |j                  u sJ ‚y )Nz<b>Foo<a></a></b><b>Bar</b>ÚFoo©r   )r   Úfindr¹   ÚparentÚnext_elementÚnext_siblingÚprevious_element©r   r   r   Ús1Ús2s        r   Ú1test_copy_navigablestring_is_not_attached_to_treezATestPersistence.test_copy_navigablestring_is_not_attached_to_tree`  s˜   € Ø,ˆØ�y‰y˜‹ˆØ�Y‰Y˜eˆYÓ$ˆÜ�Y‰Y�r‹]ˆØ�RŠxˆˆxØ�r—y‘yÑ Ð Ð Ø�r—‘Ñ&Ð&Ð&Ø˜2Ÿ?™?Ñ*Ð*Ð*Ø�r—‘Ñ&Ð&Ð&Ø�r×*Ñ*Ñ*Ð*Ñ*r   c                 óž   — d}| j                  |«      }|j                  }t        j                  |«      }||k(  sJ ‚t        |t        «      sJ ‚y )Nz<b><!--Foo--></b>)r   r   r¹   Ú
isinstancer   rÚ   s        r   Ú0test_copy_navigablestring_subclass_has_same_typez@TestPersistence.test_copy_navigablestring_subclass_has_same_typel  sE   € Ø"ˆØ�y‰y˜‹ˆØ�[‰[ˆÜ�Y‰Y�r‹]ˆØ�RŠxˆˆxÜ˜"œgÔ&Ð&Ñ&r   c                 ób   — d}| j                  |«      }t        j                  |«      }||k(  sJ ‚y )Nz)<div><b>Foo<a></a></b><b>Bar</b></div>end)r   r¹   )r   r   r   Ú	soup_copys       r   Útest_copy_entire_soupz%TestPersistence.test_copy_entire_soupt  s/   € Ø:ˆØ�y‰y˜‹ˆÜ—I‘I˜d“Oˆ	Ø�yÒ Ð Ñ r   c                 óB  — d}| j                  |«      }|j                  }t        j                  |«      }t        |«      t        |«      k(  sJ ‚||k(  sJ ‚||usJ ‚d |j                  u sJ ‚d |j
                  u sJ ‚d |j                  d¬«      j                  u sJ ‚d |j                  d¬«      j                  usJ ‚|d   |d   usJ ‚|d   j                  d«       dj                  «       |d   k(  sJ ‚dj                  «       |d   k(  sJ ‚t        |d   t        «      sJ ‚y )Nz7<div class='a b c'><b>Foo<a></a></b><b>Bar</b></div>endÚBarrÔ   ÚclassÚdza b c dza b c)r   r„   r¹   rA   rÖ   rÙ   rÕ   r×   ÚappendÚsplitrß   r   )r   r   r   r„   Údiv_copys        r   Útest_copy_tag_copies_contentsz-TestPersistence.test_copy_tag_copies_contentsz  s7  € ØHˆØ�y‰y˜‹ˆØ�h‰hˆÜ—9‘9˜S“>ˆô �3‹xœ3˜x›=Ò(Ð(Ð(Ø�hŠÐˆð ˜(Ñ"Ð"Ð"ð �x—‘Ñ&Ð&Ð&Ø�x×0Ñ0Ñ0Ð0Ð0Ø�x—}‘}¨E�}Ó2×?Ñ?Ñ?Ð?Ð?Ø˜3Ÿ8™8¨5˜8Ó1×>Ñ>Ñ>Ð>Ð>ð �7‰| 8¨GÑ#4Ñ4Ð4Ð4ØˆG‰×Ñ˜CÔ Ø�‰Ó  C¨¡LÒ0Ð0Ð0Ø�}‰}‹ (¨7Ñ"3Ò3Ð3Ð3Ü˜( 7Ñ+Ô-?Ô@Ð@Ñ@r   N)rL   rM   rN   rO   r®   r·   r¼   r¾   rÂ   rÎ   rÑ   rÝ   rà   rã   rë   r:   r   r   rª   rª     s>   „ Ù0ò)ò&5ò5ò

ò2òOò$0ò
+ò'ò!óAr   rª   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestEqualityc                 ó´   — | j                  d«      }|j                  d«      \  }}|j                  d¬«      \  }}||k(  sJ ‚||cxk(  rdk(  sJ ‚ J ‚|dk7  sJ ‚y )Nú<a>string</a> <a>string</a>rs   r   rÔ   s   string)r   Úfind_all©r   r   Úfirst_aÚsecond_aÚfirst_stringÚsecond_strings         r   Útest_comparisonzTestEquality.test_comparison™  st   € Ø�y‰yÐ6Ó7ˆØ ŸM™M¨#Ó.Ñˆ�Ø&*§m¡m¸8 mÓ&DÑ#ˆ�mð ˜(Ò"Ð"Ð"ð ˜}Ô8°Ò8Ð8Ñ8Ð8Ð8ð ˜yÒ(Ð(Ñ(r   c                 ó2  — | j                  d«      }|j                  d«      \  }}|j                  d¬«      \  }}t        |«      t        |«      k(  sJ ‚t        |«      t        |«      k7  sJ ‚t        |«      t        |«      cxk(  rt        d«      k(  sJ ‚ J ‚y )Nrï   rs   r   rÔ   )r   rð   ÚhashÚidrñ   s         r   Ú	test_hashzTestEquality.test_hash¨  s’   € Ø�y‰yÐ6Ó7ˆØ ŸM™M¨#Ó.Ñˆ�Ø&*§m¡m¸8 mÓ&DÑ#ˆ�mô �G‹}¤ X£Ò.Ð.Ð.ô �'‹{œb ›lÒ*Ð*Ð*ô �LÓ!¤T¨-Ó%8ÔJ¼DÀ»NÒJÐJÑJÐJÑJr   N)rL   rM   rN   rö   rú   r:   r   r   rí   rí   —  s   „ ò)óKr   rí   )rO   r¹   r±   r"   r0   r>   Úbs4r   Úbs4.elementr   r   Ú
bs4.filterr   Ú r   r
   rQ   rª   rí   r:   r   r   ú<module>rÿ      sd   ðÙ 0ã Û Û Û 
Û å ÷õ $õô
<"�8ô <"ô~z.�Xô z.ôzDA�hô DAôNK�8õ Kr   