a
ze2 @ s d dl Z d dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ edddZd Z
G d
d dejZG dd
d
ejZG dd deZG dd deZG dd de jZG dd dejZedkre dS ) N)AttributesImpl)feature_external_ges)pulldom)findfileztest.xmlZxmltestdata)Zsubdira
Introduction to XSL
A. Namespace
c @ sP e Zd Zdd Zdd Zdd Zejdd Zejd d
Z dd Z
d
d ZdS )PullDOMTestCasec C s\ t t}| |jj t| ttd}tt | W d n1 sN0 Y d S )Nrb)r parsetstfileZ
addCleanupstreamcloselistopen)selfhandlerfin r E/opt/bitninja-python-dojo/embedded/lib/python3.9/test/test_pulldom.py
test_parse s
zPullDOMTestCase.test_parsec C s t t}t|\}}| t|d | t j| t|\}}| t j| | d|j | dt
|j | |jdj
d t|\}}| t j| t|\}}| t j| t|\}}| d|j |}t|\}}| t j| | d|j t|\}}| t j| | d|j | ||u t|\}}| t j| t|\}}| t j| | d|j t|\}}| t j| | d|j t|\}}| t j| t|\}}| t j| | d |j t|\}}| t j| | d
|j t|\}}| t j| t|\}}| t j| | d
|j t|\}}| t j| t|\}}| t j| t|\}}| t j| d S )N
createElementhtml z xmlns:xdczhttp://www.xml.com/bookstitlezIntroduction to XSLhrpz
xdc:author)r parseStringSMALL_SAMPLEnext
assertTruehasattrassertEqualSTART_DOCUMENT
START_ELEMENTtagNamelenZ
attributesZgetNamedItemvalue
CHARACTERSdataEND_ELEMENT)r itemsevtnodeZ
title_noder r r test_parse_semantics+ sh
z$PullDOMTestCase.test_parse_semanticsc C s@ t t}|D ]<\}}|t jkr|jdkr|| | dt|j qVq| d |D ]\}}|t jkrZ qrqZ| d|jd || | t
|d t j t
|\}}| |jd || t
| t
|\}}| |jd | t
t
| W d n1 s0 Y | | |j | |j d S ) Nr z,No "title" element detected in SMALL_SAMPLE!r z=expandNode did not leave DOMEventStream in the correct state.r r r )r r r r! r" Z
expandNoder r#
childNodesfailr r% ZassertRaises
StopIterationclearassertIsNoneparserr
)r r( r) itemr* r r r test_expandItemi s4
(zPullDOMTestCase.test_expandItemc C s4 t t}|D ]\}}|t jkr q0q| d d S )NzNo comment was encountered)r r r COMMENTr. )r r( r) _r r r test_comment s
zPullDOMTestCase.test_commentc C sp t t}|D ] \}}|t jkr|jdkr q0qzt|\}}| t j| W n tyj | d Y n0 d S )Nr z8Ran out of events, but should have received END_DOCUMENT)
r r r r' r" r r END_DOCUMENTr/ r. )r r( r) r* r r r test_end_document s
z!PullDOMTestCase.test_end_documentc C sP t t}| td& | |d d t j W d n1 sB0 Y d S )NzUse iterator protocol insteadr )r r r ZassertWarnsRegexDeprecationWarningr r )r r2 r r r test_getitem_deprecation s
z(PullDOMTestCase.test_getitem_deprecationc C s* t t}|j}|t}| |d d S )NF)r r r r2 Z
getFeaturer r )r r2 Z saxparserZgesr r r test_external_ges_default s
z)PullDOMTestCase.test_external_ges_defaultN)__name__
__module____qualname__r r+ r4 unittestexpectedFailurer7 r9 r<