HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-311.pyc
�

��nc����dZddlmZddlZddlZddlmZmZddlm	Z	ddl
mZmZGd�d	ee��Z
Gd
�de��ZdS)zGTests to ensure that the html.parser tree builder generates good
trees.�)�	set_traceN)�HTMLParserTreeBuilder�XMLParsedAsHTMLWarning)�BeautifulSoupHTMLParser�)�SoupTest�HTMLTreeBuilderSmokeTestc�B�eZdZeZd�Zd�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	S)
�TestHTMLParserTreeBuilderc��dS�N���selfs �;D:\Python311\Lib\site-packages\bs4/tests/test_htmlparser.py�test_namespaced_system_doctypez8TestHTMLParserTreeBuilder.test_namespaced_system_doctype�����c��dSr
rrs r�test_namespaced_public_doctypez8TestHTMLParserTreeBuilder.test_namespaced_public_doctyperrc���|�d��}tj|d��}tj|��}t	|jt
|j����sJ�dS)zfUnlike most tree builders, HTMLParserTreeBuilder and will
        be restored after pickling.
        z
<a><b>foo</a>�N)�soup�pickle�dumps�loads�
isinstance�builder�type)r�tree�dumped�loadeds    r�test_builder_is_pickledz1TestHTMLParserTreeBuilder.test_builder_is_pickleds]���y�y��)�)����d�A�&�&����f�%�%���&�.�$�t�|�*<�*<�=�=�=�=�=�=�=rc�^�|�dd��|�dd��dS)Nz<br></br><br></br><br></br>z<br/><br/><br/>z</br></br></br>���assert_souprs r�)test_redundant_empty_element_closing_tagszCTestHTMLParserTreeBuilder.test_redundant_empty_element_closing_tags#s7�����6�8I�J�J�J����*�B�/�/�/�/�/rc�2�|�dd��dS)Nz
foo &# barzfoo &amp;# barr&rs r�test_empty_elementz,TestHTMLParserTreeBuilder.test_empty_element's!��	
����'7�8�8�8�8�8rc�P�d}|�|��}d|jjksJ�d|jjksJ�d|j�d��jksJ�|�|d���}d|jjjksJ�d|jjjksJ�dS)Nz=
   <p>

<sourceline>
<b>text</b></sourceline><sourcepos></p>r��
sourcelineF)�store_line_numbers�	sourcepos)r�pr-r/�find�name)r�markuprs   r�test_tracking_line_numbersz4TestHTMLParserTreeBuilder.test_tracking_line_numbers,s���U���y�y�� � ���D�F�%�%�%�%�%��D�F�$�$�$�$�$��t�v�{�{�<�8�8�=�=�=�=�=��y�y��E�y�:�:���t�v�0�5�5�5�5�5��d�f�.�3�3�3�3�3�3�3rc�J���d������}d|jdksJ�dg|jdksJ�d|jdksJ���fd�}|dd��|tjd��|tjd��d	�}||gd
���dS)Nz;<a class="cls" href="url1" href="url2" href="url3" id="id">�url3�href�cls�class�idc������|���}||jdksJ�dg|jdksJ�d|jdksJ�dS)N)�on_duplicate_attributer7r8r9r:)r�a)r<�expectedrr3rs   ��r�assert_attributezOTestHTMLParserTreeBuilder.test_on_duplicate_attribute.<locals>.assert_attributeHsr����9�9��/E����D��t�v�f�~�-�-�-�-��7�d�f�W�o�-�-�-�-��4�6�$�<�'�'�'�'�'�'r�url1c��t||t��s||g||<||�|��dSr
)r�list�append)�attrs�key�values   r�
accumulatezITestHTMLParserTreeBuilder.test_on_duplicate_attribute.<locals>.accumulateXsE���e�C�j�$�/�/�
*�#�C�j�\��c�
��#�J���e�$�$�$�$�$r)r@�url2r6)rr=r�REPLACE�IGNORE)rrr?rGr3s`   @r�test_on_duplicate_attributez5TestHTMLParserTreeBuilder.test_on_duplicate_attribute:s�����O���y�y�� � �������'�'�'�'��w�$�&��/�)�)�)�)��t�v�d�|�#�#�#�#�	(�	(�	(�	(�	(�	(�	���v�&�&�&���0�8�&�A�A�A�	��0�7��@�@�@�	%�	%�	%�	���%=�%=�%=�>�>�>�>�>rc��dD]|\}}}d|z}|�|��j}|���}d|�d��z}||ksJ�|�d���}d|z}||ksJ��}dS)N))z&RightArrowLeftArrow;u⇄s&rlarr;)z&models;u⊧s&models;)z&Nfr;u𝔑s&Nfr;)z&ngeqq;u≧̸s&ngeqq;)z&not;�¬s&not;)z&Not;u⫬s&Not;)z&quot;�"�")z&there4;�∴�&there4;)z&Therefore;rPrQ)z&therefore;rPrQ)z&fjlig;�fjsfj)z&sqcup;u⊔s&sqcup;)z&sqcups;u⊔︀s&sqcups;)z&apos;�'�')z&verbar;�|�|z
<div>%s</div>s
<div>%s</div>�utf8�html)�	formatter)r�div�encode)	r�
input_element�output_unicode�output_elementr3rZ�without_element�expect�with_elements	         r�test_html5_attributesz/TestHTMLParserTreeBuilder.test_html5_attributes^s���
>
�	*�	*�9�M�>�>�"%�}�4�F��)�)�F�#�#�'�C�!�j�j�l�l�O�%��(=�(=�f�(E�(E�E�F�"�f�,�,�,�,��:�:��:�7�7�L�%��6�F��6�)�)�)�)�)�3	*�	*rN)
�__name__�
__module__�__qualname__r�default_builderrrr#r(r*r4rKrbrrrrrs�������+�O�
�
�
�
�
�
�>�>�>�0�0�0�9�9�9�
4�4�4�"?�"?�"?�H*�*�*�*�*rrc��eZdZd�ZdS)�TestHTMLParserSubclassc���t��}tjd���5}|�d��ddd��n#1swxYwY|\}dt	|j��ksJ�dS)zlVerify that our HTMLParser subclass implements error() in a way
        that doesn't cause a crash.
        T)�recordzdon't crashN)r�warnings�catch_warnings�error�str�message)r�parser�warns�warnings    r�
test_errorz!TestHTMLParserSubclass.test_errors���)�*�*��
�
$�D�
1�
1�
1�	(�U��L�L��'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(��	����G�O� 4� 4�4�4�4�4�4�4s�A�A
�
A
N)rcrdrersrrrrhrh~s#������5�5�5�5�5rrh)�__doc__�pdbrrrk�bs4.builderrr�bs4.builder._htmlparserrr%rr	rrhrrr�<module>rxs���
�
�������
�
�
�
�������������<�;�;�;�;�;�0�0�0�0�0�0�0�0�n*�n*�n*�n*�n*��*B�n*�n*�n*�`	5�	5�	5�	5�	5�X�	5�	5�	5�	5�	5r