← Back
Editing: test_builder_registry.cpython-311.pyc
� �F�c� � � � d Z ddlZddlZddlmZ ddlmZmZm Z ddl mZmZ erddlm Z erddlmZmZ G d � d e� � Z G d� de� � ZdS ) zTests of the builder registry.� N)� BeautifulSoup)�builder_registry�HTMLParserTreeBuilder�TreeBuilderRegistry� )�HTML5LIB_PRESENT�LXML_PRESENT)�HTML5TreeBuilder)�LXMLTreeBuilderForXML�LXMLTreeBuilderc �* � e Zd ZdZd� Zd� Zd� Zd� ZdS )�TestBuiltInRegistryz@Test the built-in registry with the default builders registered.c �& � t j dd� � t k sJ �t r@t j dd� � t k sJ �t j dd� � t k sJ �t r t j dd� � t k sJ �d S d S )N�strict�html�fast� permissive�xml�html5lib)�registry�lookupr r r r r r ��selfs �A/usr/lib/python3/dist-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 �V � t r@t j d� � t k sJ �t j d� � t k sJ �d S t j d� � d k sJ �t r!t j d� � t k sJ �d S t j d� � t k sJ �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�)�)�T�1�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 dd� � t k sJ �t j dd� � t k sJ �t rt j d� � t k sJ �t j d� � t k sJ �d S )N�lxmlr r r zhtml.parser)r r r r r r r r r s r �test_named_libraryz&TestBuiltInRegistry.test_named_library4 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 dd�� � t dddg�� � d d d � � n# 1 swxY w Y t j t � � 5 t dd�� � d d d � � d S # 1 swxY w Y d S )NT)�record� r )�featuresr zno-such-feature)�warnings�catch_warningsr �pytest�raises� ValueError)r �ws r �*test_beautifulsoup_constructor_does_lookupz>TestBuiltInRegistry.test_beautifulsoup_constructor_does_lookup= s" � � � $�D� 1� 1� 1� �Q� �"�v�.�.�.�.��"���'7�8�8�8�8�� � � � � � � � � � � ���� � � � � �]�:� &� &� :� :��"�'8�9�9�9�9� :� :� :� :� :� :� :� :� :� :� :� :���� :� :� :� :� :� :s# �%A�A�A�,B�B�BN)�__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 �H � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z d� Z d � Zd � ZdS )�TestRegistryz.Test the TreeBuilderRegistry class in general.c �, � t � � | _ d S �N)r r r s r �setup_methodzTestRegistry.setup_methodQ s � �+�-�-�� � � r c � � t dd� |� � z t fd|i� � }| j � |� � |S )N�Builder_�_r% )�type�join�objectr �register)r �feature_list�clss r �builder_for_featuresz!TestRegistry.builder_for_featuresT sM � ��:����� 6� 6�6��9�z�L�9�;� ;�� � ���s�#�#�#�� r c � � | � � � }| j � d� � �J �| j � � � |k sJ �d S )N�foo�r@ 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 � � | � dd� � }| j � d� � |u sJ �| j � d� � |u sJ �d S �NrB �barrC rD s r �0test_register_with_features_makes_lookup_succeedz=TestRegistry.test_register_with_features_makes_lookup_succeedf s_ � ��+�+�E�5�9�9���}�#�#�E�*�*�g�5�5�5�5��}�#�#�E�*�*�g�5�5�5�5�5�5r c �j � | � dd� � }| j � d� � �J �d S �NrB rI �bazrC rD s r �4test_lookup_fails_when_no_builder_implements_featurezATestRegistry.test_lookup_fails_when_no_builder_implements_featurek s9 � ��+�+�E�5�9�9���}�#�#�E�*�*�2�2�2�2�2r c � � | � d� � }| � d� � }| j � � � |k sJ �d S rH rC �r �builder1�builder2s r �Ctest_lookup_gets_most_recent_registration_when_no_feature_specifiedzPTestRegistry.test_lookup_gets_most_recent_registration_when_no_feature_specifiedo sM � ��,�,�U�3�3���,�,�U�3�3���}�#�#�%�%��1�1�1�1�1�1r c �<