a
5êdg¨2 ã @ sÔ d dl Z d dlZd dlZd dlmZ d dlmZ d dlm Z d dl
mZ edddZd Z
G d
d„ dejƒZG dd
„ d
ejƒZG dd„ deƒZG dd„ deƒZG dd„ de jƒZG dd„ dejƒZedkrÐe ¡ 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 )NÚrb)r ÚparseÚtstfileZ
addCleanupÚstreamÚcloseÚlistÚopen)ÚselfÚhandlerÚfin© r ú-/usr/local/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ƒ¡ | |j d¡j
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Ú
createElementÚhtmlé z xmlns:xdczhttp://www.xml.com/booksÚtitlezIntroduction to XSLÚhrÚpz
xdc:author)r ÚparseStringÚSMALL_SAMPLEÚnextÚ
assertTrueÚhasattrÚassertEqualÚSTART_DOCUMENTÚ
START_ELEMENTÚtagNameÚlenZ
attributesZgetNamedItemÚvalueÚ
CHARACTERSÚdataÚEND_ELEMENT)r ÚitemsÚevtÚnodeZ
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# Ú
childNodesÚfailr r% ZassertRaisesÚ
StopIterationÚclearÚassertIsNoneÚparserr
)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 insteadéÿÿÿÿr )r r r ZassertWarnsRegexÚDeprecationWarningr 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 ÚunittestÚexpectedFailurer7 r9 r<