zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
U
¡ý°dÓã@sÐdZddlZddlZddlZddlZddlmZmZerHddlm    Z    m
Z
ddl m Z m Z ddlmZmZmZddlmZmZmZmZejje d    d
Gd d „d eeƒƒZejje d d
Gdd„deeƒƒZdS)z@Tests to ensure that the lxml tree builder generates good trees.éNé)Ú LXML_PRESENTÚ LXML_VERSION)ÚLXMLTreeBuilderÚLXMLTreeBuilderForXML)Ú BeautifulSoupÚBeautifulStoneSoup)ÚCommentÚDoctypeÚ SoupStrainer)ÚHTMLTreeBuilderSmokeTestÚXMLTreeBuilderSmokeTestÚSOUP_SIEVE_PRESENTÚSoupTestz;lxml seems not to be present, not testing its tree builder.©Úreasonc@s^eZdZdZedd„ƒZdd„Zdd„Zej    j
e p:e dkd    d
d d „ƒZ d d„Zdd„ZdS)ÚTestLXMLTreeBuilderú!See ``HTMLTreeBuilderSmokeTest``.cCstS©N)r©Úself©rúJd:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\bs4/tests/test_lxml.pyÚdefault_buildersz#TestLXMLTreeBuilder.default_buildercCs(| dd¡| dd¡| dd¡dS)Nz<p>foo&#10000000000000;bar</p>z <p>foobar</p>z<p>foo&#x10000000000000;bar</p>z<p>foo&#1000000000;bar</p>)Z assert_souprrrrÚtest_out_of_range_entity#sÿÿÿz,TestLXMLTreeBuilder.test_out_of_range_entitycCsdSrrrrrrÚ*test_entities_in_foreign_document_encoding+sz>TestLXMLTreeBuilder.test_entities_in_foreign_document_encoding)ééérz@Skipping doctype test for old version of lxml to avoid segfault.rcCs(| d¡}|jd}d| ¡ks$t‚dS)Nz
<!DOCTYPE>rÚ)ÚsoupÚcontentsÚstripÚAssertionError)rr ÚdoctyperrrÚtest_empty_doctype4s
 
z&TestLXMLTreeBuilder.test_empty_doctypec    Cs\tjdd}tdƒ}W5QRXdt|jƒks2t‚|\}|jtksFt‚dt|jƒksXt‚dS)NT)Úrecordz<b />z<b/>z&BeautifulStoneSoup class is deprecated)    ÚwarningsÚcatch_warningsrÚstrÚbr#ÚfilenameÚ__file__Úmessage)rÚwr ÚwarningrrrÚ%test_beautifulstonesoup_is_xml_parser=s z9TestLXMLTreeBuilder.test_beautifulstonesoup_is_xml_parsercCs6|jddd}d|jjjks t‚d|jjjks2t‚dS)Nz=
   <p>
 
<sourceline>
<b>text</b></sourceline><sourcepos></p>T)Zstore_line_numbersÚ
sourcelineÚ    sourcepos)r Úpr1Únamer#r2©rr rrrÚtest_tracking_line_numbersGs þz.TestLXMLTreeBuilder.test_tracking_line_numbersN)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚpropertyrrrÚpytestÚmarkÚskipifrrr%r0r6rrrrrs
     þ
 
rz?lxml seems not to be present, not testing its XML tree builder.c@sFeZdZdZedd„ƒZdd„Zejj    e
dddd    „ƒZ d
d „Z d S) ÚTestLXMLXMLTreeBuilderrcCstSr)rrrrrr]sz&TestLXMLXMLTreeBuilder.default_buildercCsz| d¡}|jddddœks t‚|jjddiks4t‚|jjdddœksJt‚|jjdddœks`t‚|jjdddœksvt‚dS)    Nam<?xml version="1.1"?>
<root><tag xmlns="http://unprefixed-namespace.com">content</tag><prefix:tag2 xmlns:prefix="http://prefixed-namespace.com">content</prefix:tag2><prefix2:tag3 xmlns:prefix2="http://another-namespace.com"><subtag xmlns="http://another-unprefixed-namespace.com"><subsubtag xmlns="http://yet-another-unprefixed-namespace.com"></prefix2:tag3></root>z$http://www.w3.org/XML/1998/namespacezhttp://prefixed-namespace.comzhttp://another-namespace.com)ÚxmlÚprefixÚprefix2r@)rAr@)rBr@)r Ú _namespacesr#ÚtagÚtag2ÚsubtagZ    subsubtagr5rrrÚtest_namespace_indexingas0ÿý ÿ
þ þ þz.TestLXMLXMLTreeBuilder.test_namespace_indexingzSoup Sieve not installedrcCsÌ| d¡}| d¡jdkst‚| d¡jdks2t‚| d¡dksDt‚|jd|jjdjdks`t‚|j d¡jdksvt‚| d¡jdksŠt‚| d¡jdksžt‚| d    ¡jdks²t‚|j d    ¡jdksÈt‚dS)
Nzú<?xml version="1.1"?>
<root><tag xmlns="http://unprefixed-namespace.com">content</tag><prefix:tag2 xmlns:prefix="http://prefixed-namespace.com">content</tag><subtag xmlns:prefix="http://another-namespace-same-prefix.com"><prefix:tag3></subtag></root>rDz prefix|tag2rEz prefix|tag3)Ú
namespacesZtag3z prefix:tag2z prefix:tag3)r Z
select_oner4r#rFrCÚfindr5rrrÚ/test_namespace_interaction_with_select_and_find–s"ÿ ÿþzFTestLXMLXMLTreeBuilder.test_namespace_interaction_with_select_and_findcCsf| d¡}t|j|jƒst‚t |¡}t |¡}d|jj    ks@t‚|j|jksPt‚t|j|jƒsbt‚dS)Nz<a>some markup</a>z some markup)
r Ú
isinstanceZbuilderrr#ÚpickleÚdumpsÚloadsÚaÚstring)rr ZpickledZ    unpickledrrrÚtest_pickle_restores_builderÀs
 
 
z3TestLXMLXMLTreeBuilder.test_pickle_restores_builderN) r7r8r9r:r;rrGr<r=r>rrJrQrrrrr?Vs
5ÿ
'r?)r:rLr<Úrer'rrrZ bs4.builderrrZbs4rrZ bs4.elementr    r
r r r rrr=r>rr?rrrrÚ<module>s(þ:þ