
    (ph                     t    S SK r S SKJrJrJrJrJrJrJrJ	r	J
r
Jr  SSKJr   " S S\5      r " S S\5      rg)	    N)
CDataCommentDeclarationDoctypeNavigableStringRubyParenthesisStringRubyTextStringScript
StylesheetTemplateString   )SoupTestc                   &    \ rS rSrS rS rS rSrg)TestNavigableString   c                    [        S5      n[        S5      n[        S5      nSUR                  5       :X  d   eSUR                  :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S/[        UR                  5       5      :X  d   eSUR                  5       :X  d   eSUR                  :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S/[        UR                  5       5      :X  d   eSUR                  5       :X  d   e/ [        UR                  5      :X  d   e/ [        UR                  5      :X  d   e/ [        UR                  5       5      :X  d   eS	UR                  S[        S
9:X  d   eSUR                  [        [         4S9:X  d   eg )Nzfee zfie zfoe feeTstripfie foer   typesr   )	r   r   r   get_textstringliststringsstripped_strings_all_strings)selfscdatacomments       Q/var/www/html/venv/lib/python3.13/site-packages/bs4/tests/test_navigablestring.pytest_text_acquisition_methods1TestNavigableString.test_text_acquisition_methods   s    F#f&/%%%!!!


....x4		?***w$q112222x4 01111))))%%%T2222x4....w$u556666x4 2 2 45555 W%%''''T'//****T'223333T'..01111 ((t7(CCCC))/0J)KKKK    c                     U R                  S5      R                  nS UR                  L d   e[        R                  " [
        5         SUl        S S S 5        g ! , (       d  f       g = f)Nr#   foo)soupr   namepytestraisesAttributeError)r"   r   s     r&   'test_string_has_immutable_name_property;TestNavigableString.test_string_has_immutable_name_property5   sF    3&&v{{"""]]>*FK +**s   A
A&c                    U R                  S5      R                  n[        R                  " [        5       nUS     S S S 5        [        WR                  5      S:X  d   eUS   S:X  d   eUSS S:X  d   eg ! , (       d  f       N@= f)Nz
the stringattrzZstring indices must be integers, not 'str'. Are you treating a NavigableString like a Tag?   e   ze s)r,   r   r.   r/   	TypeErrorstrvalue)r"   r   r6   s      r&   ,test_string_detects_attribute_access_attempt@TestNavigableString.test_string_detects_attribute_access_attempt<   sz    <(// ]]9%6N &177|{{{{ ayCa{e### &%s   A66
B N)__name__
__module____qualname____firstlineno__r'   r1   r;   __static_attributes__r=   r)   r&   r   r      s    LB 
$r)   r   c                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TestNavigableStringSubclassesH   c                     U R                  S5      n[        S5      nUR                  SU5        [        U5      S:X  d   eUR	                  SS9S:X  d   eUR
                  S   S:X  d   eg )Nr   r+   r   z<![CDATA[foo]]>r   r   )r,   r   insertr9   findcontents)r"   r,   r$   s      r&   
test_cdata(TestNavigableStringSubclasses.test_cdataI   sk     yy}eAu4y----yyy&%///}}Q5(((r)   c                    ^  ST l         U 4S jnT R                  S5      n[        S5      nUR                  SU5        SUR	                  US9:X  d   eST R                   :X  d   eg)	z[Text inside a CData object is passed into the formatter.

But the return value is ignored.
r   c                  0   > T=R                   S-  sl         g)Nr   zBITTER FAILUREcount)argsr"   s    r&   	incrementNTestNavigableStringSubclasses.test_cdata_is_never_formatted.<locals>.increment[   s    JJ!OJ#r)   r   z<><><>r   s   <![CDATA[<><><>]]>)	formatterN)rP   r,   r   rH   encode)r"   rR   r,   r$   s   `   r&   test_cdata_is_never_formatted;TestNavigableStringSubclasses.test_cdata_is_never_formattedS   s`     
	$ yy}hAu$i(HHHHDJJr)   c                     [        S5      nU R                  S5      nUR                  SU5        UR                  5       S:X  d   eg )Nr+   r   r   s   <!DOCTYPE foo>
)r   r,   rH   rU   )r"   doctyper,   s      r&   test_doctype_ends_in_newline:TestNavigableStringSubclasses.test_doctype_ends_in_newlinee   s=     %.yy}Aw{{} 3333r)   c                 F    [        S5      nSUR                  5       :X  d   eg )Nr+   z<?foo?>)r   output_ready)r"   ds     r&   test_declaration.TestNavigableStringSubclasses.test_declarationm   s!    ANN,,,,r)   c                    U R                  S5      n[        [        [        /UR	                  SS9 Vs/ s H  o"R
                  PM     sn:X  d   eU R                  S5      n[        S UR                  R                  S S9 5       5      (       d   eUR                  R                  n[        U[        5      (       d   e[        U[        5      (       a   eSnU R                  U5      nXAR                  R                  S5      :X  d   eg s  snf )	Nz7<div>text</div><script>text</script><style>text</style>TrG   z><template>Some text<p>In a tag</p></template>Some text outsidec              3   B   #    U  H  n[        U[        5      v   M     g 7f)N)
isinstancer   ).0xs     r&   	<genexpr>OTestNavigableStringSubclasses.test_default_string_containers.<locals>.<genexpr>   s!      
; q.));s   r   sB   <template>Some text<p>In a tag</p><!--with a comment--></template>utf8)r,   r   r
   r   find_all	__class__alltemplater!   next_siblingrc   r   rU   )r"   r,   re   outsidemarkups        r&   test_default_string_containers<TestNavigableStringSubclasses.test_default_string_containersq   s	    yyRS4!%d!;9
!;AKK!;9
 
 	
 
 yyL
  
]]//d/;
 
 
 	
 
 --,,'?3333g~6666
 Wyy --f555559
s   D	c                 J   SnU R                  U5      n[        UR                  R                  [        5      (       d   e[        UR
                  R                  [        5      (       d   eSUR                  SS9:X  d   eSUR                  S[        [        [        4S9:X  d   eg )NuU   <ruby>漢 <rp>(</rp><rt>kan</rt><rp>)</rp> 字 <rp>(</rp><rt>ji</rt><rp>)</rp></ruby>u   漢字Tr   u   漢(kan)字(ji)r   )	r,   rc   rpr   r   rtr	   r   r   )r"   ro   r,   s      r&   test_ruby_strings/TestNavigableStringSubclasses.test_ruby_strings   s    hyy $''..*?@@@@$''...9999 4==t=4444 DMM@UV %2 %
 
 	
 
r)   rO   N)r>   r?   r@   rA   rK   rV   rZ   r_   rp   ru   rB   r=   r)   r&   rD   rD   H   s!    )$4-6@

r)   rD   )r.   bs4.elementr   r   r   r   r   r   r	   r
   r   r   r   r   r   rD   r=   r)   r&   <module>rx      s7       3$( 3$jS
H S
r)   