§
    ©öÉgÈ  ã                   ó¾   — d Z ddlZddlZddlm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 erdd	lmZ erdd
lmZmZ  G d„ de¦  «        Z G d„ de¦  «        ZdS )zTests of the builder registry.é    N)ÚType)ÚBeautifulSoup)Úbuilder_registryÚTreeBuilderÚTreeBuilderRegistry)ÚHTMLParserTreeBuilderé   )ÚHTML5LIB_PRESENTÚLXML_PRESENT)ÚHTML5TreeBuilder)ÚLXMLTreeBuilderForXMLÚLXMLTreeBuilderc                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚTestBuiltInRegistryz@Test the built-in registry with the default builders registered.c                 ó&  — t          j        dd¦  «        t          k    sJ ‚t          r@t          j        dd¦  «        t          k    sJ ‚t          j        dd¦  «        t
          k    sJ ‚t          r t          j        dd¦  «        t          k    sJ ‚d S d S )NÚstrictÚhtmlÚfastÚ
permissiveÚxmlÚhtml5lib)ÚregistryÚlookupr   r   r   r   r
   r   ©Úselfs    úk/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/bs4/tests/test_builder_registry.pyÚtest_combinationz$TestBuiltInRegistry.test_combination#   s�   € ÝŒ˜x¨Ñ0Ô0Õ4IÒIÐIÐIÐIÝð 	QÝ”? 6¨6Ñ2Ô2µoÒEÐEÐEÐEÝ”? <°Ñ7Ô7Õ;PÒPÐPÐPÐPÝð 	KÝ”? :¨vÑ6Ô6Õ:JÒJÐJÐJÐJð	Kð 	KØJÐJó    c                 óN  — t           r@t          j        d¦  «        t          k    sJ ‚t          j        d¦  «        t          k    sJ ‚d S t          j        d¦  «        �J ‚t
          r!t          j        d¦  «        t          k    sJ ‚d S t          j        d¦  «        t          k    sJ ‚d S )Nr   r   )r   r   r   r   r   r
   r   r   r   s    r   Útest_lookup_by_markup_typez.TestBuiltInRegistry.test_lookup_by_markup_type+   s«   € Ýð 	HÝ”? 6Ñ*Ô*­oÒ=Ð=Ð=Ð=Ý”? 5Ñ)Ô)Õ-BÒBÐBÐBÐBÐBÐBå”? 5Ñ)Ô)Ð1Ð1Ð1Ýð HÝ” vÑ.Ô.Õ2BÒBÐBÐBÐBÐBÐBå” vÑ.Ô.Õ2GÒGÐGÐGÐGÐGÐGr   c                 ó  — t           r@t          j        dd¦  «        t          k    sJ ‚t          j        dd¦  «        t          k    sJ ‚t
          rt          j        d¦  «        t          k    sJ ‚t          j        d¦  «        t          k    sJ ‚d S )NÚlxmlr   r   r   zhtml.parser)r   r   r   r   r   r
   r   r   r   s    r   Útest_named_libraryz&TestBuiltInRegistry.test_named_library6   s�   € Ýð 	FÝ”? 6¨5Ñ1Ô1Õ5JÒJÐJÐJÐJÝ”? 6¨6Ñ2Ô2µoÒEÐEÐEÐEÝð 	CÝ”? :Ñ.Ô.Õ2BÒBÐBÐBÐBåŒ˜}Ñ-Ô-Õ1FÒFÐFÐFÐFÐFÐFr   c                 ó0  — t          j        d¬¦  «        5  t          dd¬¦  «         t          dddg¬¦  «         	 d d d ¦  «         n# 1 swxY w Y   t          j        t
          ¦  «        5  t          dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NT)ÚrecordÚ r   )Úfeaturesr   zno-such-feature)ÚwarningsÚcatch_warningsr   ÚpytestÚraisesÚ
ValueErrorr   s    r   Ú*test_beautifulsoup_constructor_does_lookupz>TestBuiltInRegistry.test_beautifulsoup_constructor_does_lookup?   s%  € ÝÔ$¨DÐ1Ñ1Ô1ð 	ð 	õ
 ˜" vÐ.Ñ.Ô.Ð.å˜"¨°Ð'7Ð8Ñ8Ô8Ð8Øð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ]�:Ñ&Ô&ð 	:ð 	:Ý˜"Ð'8Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s#   –%AÁAÁAÁ,BÂBÂBN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r    r#   r-   © r   r   r   r       s_   € € € € € ØJÐJðKð Kð Kð	Hð 	Hð 	HðGð Gð Gð:ð :ð :ð :ð :r   r   c                   ó^   — e Zd ZdZd„ Zdedee         fd„Zd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ ZdS )ÚTestRegistryz.Test the TreeBuilderRegistry class in general.c                 ó,   — t          ¦   «         | _        d S ©N)r   r   r   s    r   Úsetup_methodzTestRegistry.setup_methodS   s   € Ý+Ñ-Ô-ˆŒˆˆr   Úfeature_listÚreturnc                 ó˜   — t          dd                     |¦  «        z   t          fd|i¦  «        }| j                             |¦  «         |S )NÚBuilder_Ú_r'   )ÚtypeÚjoinÚobjectr   Úregister)r   r8   Úclss      r   Úbuilder_for_featuresz!TestRegistry.builder_for_featuresV   sM   € ÝØ˜Ÿš ,Ñ/Ô/Ñ/µ&°¸ZÈÐ<Vñ
ô 
ˆð 	Œ×Ò˜sÑ#Ô#Ð#Øˆ
r   c                 ó¤   — |                       ¦   «         }| j                             d¦  «        �J ‚| j                             ¦   «         |k    sJ ‚d S )NÚfoo©rB   r   r   ©r   Úbuilders     r   Útest_register_with_no_featuresz+TestRegistry.test_register_with_no_features^   sX   € Ø×+Ò+Ñ-Ô-ˆð Œ}×#Ò# EÑ*Ô*Ð2Ð2Ð2ð Œ}×#Ò#Ñ%Ô%¨Ò0Ð0Ð0Ð0Ð0Ð0r   c                 óª   — |                       dd¦  «        }| j                             d¦  «        |u sJ ‚| j                             d¦  «        |u sJ ‚d S ©NrD   ÚbarrE   rF   s     r   Ú0test_register_with_features_makes_lookup_succeedz=TestRegistry.test_register_with_features_makes_lookup_succeedi   s_   € Ø×+Ò+¨E°5Ñ9Ô9ˆØŒ}×#Ò# EÑ*Ô*¨gÐ5Ð5Ð5Ð5ØŒ}×#Ò# EÑ*Ô*¨gÐ5Ð5Ð5Ð5Ð5Ð5r   c                 ó>   — | j                              d¦  «        �J ‚d S )NÚbaz©r   r   r   s    r   Ú4test_lookup_fails_when_no_builder_implements_featurezATestRegistry.test_lookup_fails_when_no_builder_implements_featuren   s$   € ØŒ}×#Ò# EÑ*Ô*Ð2Ð2Ð2Ð2Ð2r   c                 ó˜   — |                       d¦  «         |                       d¦  «        }| j                             ¦   «         |k    sJ ‚d S rJ   rE   )r   Úbuilder2s     r   ÚCtest_lookup_gets_most_recent_registration_when_no_feature_specifiedzPTestRegistry.test_lookup_gets_most_recent_registration_when_no_feature_specifiedq   sN   € Ø×!Ò! %Ñ(Ô(Ð(Ø×,Ò,¨UÑ3Ô3ˆØŒ}×#Ò#Ñ%Ô%¨Ò1Ð1Ð1Ð1Ð1Ð1r   c                 ó<   — | j                              ¦   «         �J ‚d S r6   rO   r   s    r   Ú2test_lookup_fails_when_no_tree_builders_registeredz?TestRegistry.test_lookup_fails_when_no_tree_builders_registeredv   s"   € ØŒ}×#Ò#Ñ%Ô%Ð-Ð-Ð-Ð-Ð-r   c                 ó�  — |                       d¦  «         |                       d¦  «         |                       ddd¦  «        }|                       ddd¦  «        }|                       d¦  «         |                       d¦  «         | j                             dd¦  «        |k    sJ ‚| j                             ddd¦  «        |k    sJ ‚d S )NrD   rK   rN   ÚquuxrE   )r   Úhas_both_earlyÚhas_both_lates      r   Ú<test_lookup_gets_most_recent_builder_supporting_all_featureszITestRegistry.test_lookup_gets_most_recent_builder_supporting_all_featuresy   sÒ   € Ø×!Ò! %Ñ(Ô(Ð(Ø×!Ò! %Ñ(Ô(Ð(Ø×2Ò2°5¸%ÀÑGÔGˆØ×1Ò1°%¸ÀÑGÔGˆØ×!Ò! %Ñ(Ô(Ð(Ø×!Ò! %Ñ(Ô(Ð(ð Œ}×#Ò# E¨5Ñ1Ô1°]ÒBÐBÐBÐBð Œ}×#Ò# E¨5°%Ñ8Ô8¸NÒJÐJÐJÐJÐJÐJr   c                 ó˜   — |                       dd¦  «         |                       dd¦  «         | j                             dd¦  «        �J ‚d S )NrD   rK   rN   rE   r   s    r   Ú:test_lookup_fails_when_cannot_reconcile_requested_featureszGTestRegistry.test_lookup_fails_when_cannot_reconcile_requested_featuresˆ   sR   € Ø×!Ò! %¨Ñ/Ô/Ð/Ø×!Ò! %¨Ñ/Ô/Ð/ØŒ}×#Ò# E¨5Ñ1Ô1Ð9Ð9Ð9Ð9Ð9r   N)r.   r/   r0   r1   r7   Ústrr   r   rB   rH   rL   rP   rS   rU   rZ   r\   r2   r   r   r4   r4   P   s¼   € € € € € Ø8Ð8ð.ð .ð .ð°#ð ¸$¸{Ô:Kð ð ð ð ð	1ð 	1ð 	1ð6ð 6ð 6ð
3ð 3ð 3ð2ð 2ð 2ð
.ð .ð .ðKð Kð Kð:ð :ð :ð :ð :r   r4   )r1   r*   r(   Útypingr   Úbs4r   Úbs4.builderr   r   r   r   Úbs4.builder._htmlparserr   r&   r
   r   Úbs4.builder._html5libr   Úbs4.builder._lxmlr   r   r?   r   r4   r2   r   r   ú<module>rd      sZ  ðØ $Ð $à €€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð
 :Ð 9Ð 9Ð 9Ð 9Ð 9ðð ð ð ð ð ð ð ð
 ð 7Ø6Ð6Ð6Ð6Ð6Ð6àð ðð ð ð ð ð ð ð ð-:ð -:ð -:ð -:ð -:˜&ñ -:ô -:ð -:ð`;:ð ;:ð ;:ð ;:ð ;:�6ñ ;:ô ;:ð ;:ð ;:ð ;:r   