zmc
2023-12-22 9fdbf60165db0400c2e8e6be2dc6e88138ac719a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
U
¡ý°dúã@sŒdZddlZddlZddlmZddlmZmZm    Z    ddl
m Z m Z e rTddlm Z e rhddlmZmZGd    d
„d
eƒZGd d „d eƒZdS) zTests of the builder registry.éN)Ú BeautifulSoup)Úbuilder_registryÚHTMLParserTreeBuilderÚTreeBuilderRegistryé)ÚHTML5LIB_PRESENTÚ LXML_PRESENT)ÚHTML5TreeBuilder)ÚLXMLTreeBuilderForXMLÚLXMLTreeBuilderc@s0eZdZdZdd„Zdd„Zdd„Zdd    „Zd
S) ÚTestBuiltInRegistryz@Test the built-in registry with the default builders registered.cCs\t dd¡tkst‚tr@t dd¡tks,t‚t dd¡tks@t‚trXt dd¡tksXt‚dS)NÚstrictÚhtmlÚfastZ
permissiveÚxmlÚhtml5lib)    ÚregistryÚlookuprÚAssertionErrorrr r
rr    ©Úself©rúVd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\bs4/tests/test_builder_registry.pyÚtest_combination!s z$TestBuiltInRegistry.test_combinationcCsjtr*t d¡tkst‚t d¡tksft‚n<t d¡dks<t‚trTt d¡tksft‚nt d¡tksft‚dS)Nrr)    rrrr rr
rr    rrrrrÚtest_lookup_by_markup_type)sz.TestBuiltInRegistry.test_lookup_by_markup_typecCsXtr,t dd¡tkst‚t dd¡tks,t‚trBt d¡tksBt‚t d¡tksTt‚dS)NÚlxmlrrrz html.parser)    rrrr
rr rr    rrrrrÚtest_named_library4s z&TestBuiltInRegistry.test_named_libraryc    CsZtjdd"}tdddtdddgdW5QRXt t¡tdddW5QRXdS)NT)ÚrecordÚr)Úfeaturesrzno-such-feature)ÚwarningsÚcatch_warningsrÚpytestZraisesÚ
ValueError)rÚwrrrÚ*test_beautifulsoup_constructor_does_lookup=s  
 z>TestBuiltInRegistry.test_beautifulsoup_constructor_does_lookupN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__rrrr%rrrrr s
     r c@sXeZdZdZdd„Zdd„Zdd„Zdd    „Zd
d „Zd d „Z    dd„Z
dd„Z dd„Z dS)Ú TestRegistryz.Test the TreeBuilderRegistry class in general.cCs tƒ|_dS©N)rrrrrrÚ setup_methodQszTestRegistry.setup_methodcGs,tdd |¡tfd|iƒ}|j |¡|S)NZBuilder_Ú_r)ÚtypeÚjoinÚobjectrÚregister)rZ feature_listÚclsrrrÚbuilder_for_featuresTs ÿ z!TestRegistry.builder_for_featurescCs2| ¡}|j d¡dkst‚|j ¡|ks.t‚dS)NÚfoo©r3rrr©rZbuilderrrrÚtest_register_with_no_features[sz+TestRegistry.test_register_with_no_featurescCs8| dd¡}|j d¡|ks t‚|j d¡|ks4t‚dS©Nr4Úbarr5r6rrrÚ0test_register_with_features_makes_lookup_succeedfs z=TestRegistry.test_register_with_features_makes_lookup_succeedcCs$| dd¡}|j d¡dks t‚dS©Nr4r9Úbazr5r6rrrÚ4test_lookup_fails_when_no_builder_implements_featureks zATestRegistry.test_lookup_fails_when_no_builder_implements_featurecCs*| d¡}| d¡}|j ¡|ks&t‚dSr8r5©rZbuilder1Zbuilder2rrrÚCtest_lookup_gets_most_recent_registration_when_no_feature_specifiedos
 
zPTestRegistry.test_lookup_gets_most_recent_registration_when_no_feature_specifiedcCs|j ¡dkst‚dSr+)rrrrrrrÚ2test_lookup_fails_when_no_tree_builders_registeredtsz?TestRegistry.test_lookup_fails_when_no_tree_builders_registeredcCsv| d¡}| d¡}| ddd¡}| ddd¡}| d¡}| d¡}|j dd¡|ksZt‚|j ddd¡|ksrt‚dS)Nr4r9r<Zquuxr5)rZhas_oneZ has_the_otherZhas_both_earlyZ has_both_lateZ    lacks_onerrrÚ<test_lookup_gets_most_recent_builder_supporting_all_featuresws
 
 
 
zITestRegistry.test_lookup_gets_most_recent_builder_supporting_all_featurescCs2| dd¡}| dd¡}|j dd¡dks.t‚dSr;r5r>rrrÚ:test_lookup_fails_when_cannot_reconcile_requested_features†s  zGTestRegistry.test_lookup_fails_when_cannot_reconcile_requested_featuresN) r&r'r(r)r,r3r7r:r=r?r@rArBrrrrr*Ns r*)r)r"r Zbs4rZ bs4.builderrrrrrrrr    r
r r0r r*rrrrÚ<module>s  0