σ
SUc           @@  sf  d  d l  m Z y d  d l Z Wn e k
 r? e d   n Xd  d l m Z d  d l Z d  d l Z d  d l Z d  d l	 Z	 d d l
 m Z m Z d  d l m Z d  d l m Z d  d l Z d d	 l m Z d  d l Z d  d
 l m Z m Z d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d S(   i    (   t   absolute_importNs"   lxml is required to run the tests.(   t   BytesIOi   (   t   HelperTestCaset   skipIf(   t   xmlfile(   t   LxmlSyntaxError(   t   compare_xml(   t   Elementt   parset   _XmlFileTestCaseBasec           B@  sU  e  Z d Z d    Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d	   Z d
   Z d   Z d   Z e j j d    Z e j j d    Z d   Z d   Z e j j d    Z e j j d    Z e j j d    Z d   Z d   Z d   Z e j j d    Z d   Z d   Z  d   Z! d d  Z" RS(   c         C@  s   t    |  _ d  S(   N(   R   t   _file(   t   self(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   setUp!   s    c      	   C@  s?   t  |  j   } | j d   Wd  QXWd  QX|  j d  d  S(   Nt   tests   <test></test>(   R   R
   t   elementt	   assertXml(   R   t   xf(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_element$   s    c      
   C@  sL   t  |  j  * } | j d   | j d  Wd  QXWd  QX|  j d  d  S(   NR   t   toasts   <test>toast</test>(   R   R
   R   t   writeR   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_element_write_text*   s    c         C@  sx   t  |  j  V } | j d  > | j d  ( | j d   | j d  Wd  QXWd  QXWd  QXWd  QX|  j d  d  S(   NR   R   t   tastet   conTents2   <test><toast><taste>conTent</taste></toast></test>(   R   R
   R   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_element_nested0   s    %c         C@  s¬   t  |  j   } | j d  r | j d  | j d  B | j d  | j d   | j d  Wd  QX| j d  Wd  QX| j d  Wd  QXWd  QX|  j d	  d  S(
   NR   t   conR   t   tentR   t   insidet   tnett   nocs?   <test>con<toast>tent<taste>inside</taste>tnet</toast>noc</test>(   R   R
   R   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_element_nested_with_text8   s    c         C@  s<   t  |  j   } | j t d   Wd  QX|  j d  d  S(   NR   s   <test/>(   R   R
   R   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_write_ElementE   s    c         C@  sΜ   t  d  } t |  j  A } | j d  ) x! t d  D] } | j |  q; WWd  QXWd  QX|  j   } |  j | d  k	  |  j	 d t
 | j     |  j	 t d g  t d   | j   D   d  S(   NR   id   c         s@  s   |  ] } | j  Vq d  S(   N(   t   tag(   t   .0t   el(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pys	   <genexpr>T   s    (   R   R   R
   R   t   rangeR   t   _parse_filet
   assertTruet   Nonet   assertEqualt   lent   getroott   set(   R   R   R   t   it   tree(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_write_Element_repeatedlyJ   s    c      
   C@  sL   t  |  j  * } | j d d i d d 6 Wd  QXWd  QX|  j d  d  S(   Ns   {nsURI}testt   nsmapt   nsURIt   xs!   <x:test xmlns:x="nsURI"></x:test>(   R   R
   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_namespace_nsmapV   s    c         C@  sb   t  |  j  @ } | j d d i d d 6 | j d   Wd  QXWd  QXWd  QX|  j d  d  S(   NR   R-   R.   R/   s   {nsURI}toasts0   <test xmlns:x="nsURI"><x:toast></x:toast></test>(   R   R
   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_namespace_nested_nsmap\   s
    c      	   C@  s?   t  |  j   } | j d   Wd  QXWd  QX|  j d  d  S(   Ns   {nsURI}tests'   <ns0:test xmlns:ns0="nsURI"></ns0:test>(   R   R
   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_anonymous_namespacec   s    c         C@  sU   t  |  j  3 } | j d   | j d   Wd  QXWd  QXWd  QX|  j d  d  S(   NR   s   {nsURI}toasts6   <test><ns0:toast xmlns:ns0="nsURI"></ns0:toast></test>(   R   R
   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_namespace_nested_anonymousi   s
    c      
   C@  sL   t  |  j  * } | j d d i d d  6 Wd  QXWd  QX|  j d  d  S(   Ns   {nsURI}testR-   R.   s   <test xmlns="nsURI"></test>(   R   R
   R   R%   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_default_namespacep   s    c         C@  sb   t  |  j  @ } | j d d i d d  6 | j d   Wd  QXWd  QXWd  QX|  j d  d  S(   Ns   {nsURI}testR-   R.   s   {nsURI}toasts*   <test xmlns="nsURI"><toast></toast></test>(   R   R
   R   R%   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_nested_default_namespacev   s
    c      	   C@  sb   d d l  m } t |  j  0 } | j | d   | j d   Wd  QXWd  QX|  j d  d  S(   Ni    (   t   ProcessingInstructiont   pypiR   s   <?pypi ?><test></test>(   t   et_xmlfile.xmlfileR6   R   R
   R   R   R   (   R   R6   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_pi}   s    c      	   C@  sU   t  |  j  3 } | j t j d   | j d   Wd  QXWd  QX|  j d  d  S(   Ns	   a commentR   s   <!--a comment--><test></test>(   R   R
   R   t   etreet   CommentR   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_comment   s
    c      
   C@  sL   t  |  j  * } | j d d i d d 6 Wd  QXWd  QX|  j d  d  S(   NR   t   attribt   vt   ks   <test k="v"></test>(   R   R
   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_attribute   s    c      
   C@  sY   t  |  j  7 } | j d   | j d  | j d  Wd  QXWd  QX|  j d  d  S(   NR   s   Comments: <!-- text -->
s   Entities: &amp;s>   <test>Comments: &lt;!-- text --&gt;
Entities: &amp;amp;</test>(   R   R
   R   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_escaping   s    c      
   C@  sX   t  |  j d d * } | j d   | j d  Wd  QXWd  QX|  j d d d d  S(   Nt   encodingt   utf16R   R   s   <test>toast</test>(   R   R
   R   R   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_encoding   s    c         C@  sμ   t  |  j d t Δ } | j d   |  j d  | j d  |  j d  | j d  ; |  j d  | j d t j d	  d  |  j d
  Wd  QX|  j d  | j d  |  j d  Wd  QX|  j d  Wd  QX|  j d  d  S(   Nt   bufferedR   s   <test>R   s   <test>toastR   s   <test>toast<taste>t   somet   mores"   <test>toast<taste>some<more/>toasts*   <test>toast<taste>some<more/>toast</taste>t   ends-   <test>toast<taste>some<more/>toast</taste>ends4   <test>toast<taste>some<more/>toast</taste>end</test>(   R   R
   t   FalseR   R   R   R:   R   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_buffering£   s    c         C@  sΐ   t  |  j d t  } | j d  s |  j d  | j d  |  j d  | j d  ) |  j d  | j   |  j d  Wd  QX|  j d  Wd  QX|  j d  Wd  QX|  j d  d  S(   NRE   R   t    R   R   s   <test>toast<taste>s!   <test>toast<taste></taste></test>(   R   R
   t   TrueR   R   R   t   flush(   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt
   test_flush΄   s    
c         C@  s[   y) t  |  j   } | j d  Wd  QXWn t k
 rI |  j t  n X|  j t  d  S(   NR   (   R   R
   R   R   R$   RL   RI   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_failure_preceding_textΓ   s    c      
   C@  sq   t  |  j  \ } | j d   Wd  QXy | j d  Wn t k
 rY |  j t  n X|  j t  Wd  QXd  S(   NR   R   (   R   R
   R   R   R   R$   RL   RI   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_failure_trailing_textΜ   s    c      
   C@  sw   t  |  j  b } | j d   Wd  QXy | j t d   Wn t k
 r_ |  j t  n X|  j t  Wd  QXd  S(   NR   (	   R   R
   R   R   R   R   R$   RL   RI   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_failure_trailing_ElementΧ   s    c         C@  sΚ   d  } yJ t |  j  5 } | j d  } | j } | j   t d   Wd  QXWnf t k
 rΈ |  j |  y | t t d  d   Wn t k
 r§ |  j t	  qΖ X|  j t
  n X|  j t
  d  S(   NR   t   123t   huhu(   R%   R   R
   R   t   __exit__t	   __enter__t
   ValueErrorR$   R   RL   RI   (   R   t   cm_exitR   R/   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt'   test_closing_out_of_order_in_error_caseβ   s    	
c         C@  sH   |  j  j   } |  j  j d  z |  j  j   SWd  |  j  j |  Xd  S(   Ni    (   R
   t   tellt   seekt   read(   R   t   pos(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt
   _read_fileφ   s
    c         C@  sH   |  j  j   } |  j  j d  z t |  j   SWd  |  j  j |  Xd  S(   Ni    (   R
   RY   RZ   R   (   R   R\   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR#   ώ   s
    c         C@  s#   |  j  d  k	 r |  j  j   n  d  S(   N(   R
   R%   t   close(   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   tearDown  s    t   utf8c         C@  s:   t  |  j   j |  |  } | d  k s6 t |   d  S(   N(   R   R]   t   decodeR%   t   AssertionError(   R   t   expectedRB   t   diff(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR   
  s    N(#   t   __name__t
   __module__R%   R
   R   R   R   R   R   R   R,   R0   R1   R2   R3   R4   R5   t   pytestt   markt   xfailR9   R<   R@   RA   RD   RJ   RN   RO   RP   RQ   RX   R]   R#   R_   R   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR	      s:   																							t   BytesIOXmlFileTestCasec           B@  s   e  Z d    Z d   Z RS(   c         C@  s   t    |  _ d  S(   N(   R   R
   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR     s    c      	   C@  sN   t  |  j d t  } | j d   Wd  QXWd  QX|  j t |  j j  d  S(   NR^   R   (   R   R
   RL   R   t   assertRaisesRV   t   getvalue(   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_filelike_close  s    (   Re   Rf   R   Rm   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRj     s   	t   TempXmlFileTestCasec           B@  s   e  Z d    Z RS(   c         C@  s   t  j   |  _ d  S(   N(   t   tempfilet   TemporaryFileR
   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR     s    (   Re   Rf   R   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRn     s   t   TempPathXmlFileTestCasec           B@  s\   e  Z d    Z d   Z d   Z d   Z e e d  d    Z e e d  d    Z	 RS(   c         C@  s(   t  j d t  |  _ |  j j |  _ d  S(   Nt   delete(   Ro   t   NamedTemporaryFileRI   t   _tmpfilet   nameR
   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR      s    c         C@  sG   z |  j  j   Wd  t j j |  j  j  rB t j |  j  j  n  Xd  S(   N(   Rt   R^   t   ost   patht   existsRu   t   unlink(   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR_   $  s    c         C@  s   |  j  j d  |  j  j   S(   Ni    (   Rt   RZ   R[   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR]   +  s    c         C@  s   |  j  j d  t |  j   S(   Ni    (   Rt   RZ   R   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR#   /  s    s1   temp file behaviour is too platform specific herec         C@  s   d  S(   N(    (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRJ   3  s    c         C@  s   d  S(   N(    (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRN   7  s    (
   Re   Rf   R   R_   R]   R#   R   RL   RJ   RN   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRq     s   				t   SimpleFileLikeXmlFileTestCasec           B@  sK   e  Z d  e f d     YZ d   Z d   Z d   Z d   Z d   Z RS(   t   SimpleFileLikec           B@  s   e  Z d    Z d   Z RS(   c         C@  s:   | |  _  | j |  _ | j |  _ | j |  _ t |  _ d  S(   N(   t   _targetR   RY   RZ   RI   t   closed(   R   t   target(    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   __init__>  s
    	c         C@  s*   |  j  s t  t |  _  |  j j   d  S(   N(   R}   Rb   RL   R|   R^   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR^   E  s    	(   Re   Rf   R   R^   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR{   =  s   	c         C@  s%   t    |  _ |  j |  j  |  _ d  S(   N(   R   R|   R{   R
   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR   J  s    c         C@  s   |  j  j   S(   N(   R|   Rl   (   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR]   N  s    c         C@  sH   |  j  j   } |  j j d  z t |  j  SWd  |  j j |  Xd  S(   Ni    (   R
   RY   R|   RZ   R   (   R   R\   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyR#   Q  s
    c      	   C@  sE   t  |  j   } | j d   Wd  QXWd  QX|  j |  j j  d  S(   NR   (   R   R
   R   t   assertFalseR}   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   test_filelike_not_closingY  s    c      	   C@  sT   t  |  j d t  } | j d   Wd  QXWd  QX|  j |  j j  d  |  _ d  S(   NR^   R   (   R   R
   RL   R   R$   R}   R%   (   R   R   (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRm   _  s
    (	   Re   Rf   t   objectR{   R   R]   R#   R   Rm   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyRz   <  s   				(   t
   __future__R    t   lxmlt   ImportErrort   ioR   t   unittestRo   Rv   t   syst   common_importsR   R   t
   et_xmlfileR   R8   R   Rg   t   helperR   t   xml.etree.ElementTreet   xmlR   R   R	   Rj   Rn   Rq   Rz   (    (    (    sH   lib/python2.7/site-packages/et_xmlfile/tests/test_incremental_xmlfile.pyt   <module>   s&   $ρ