;
Íâ"Ic               @   sÃ   d  d l  Z  d  d l Z d  d l m Z d  d l m 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 d k o e ƒ  n d S(   i    N(   u   support(   u   cElementTreeu\   
<body>
  <tag>text</tag>
  <tag />
  <section>
    <tag>subtext</tag>
  </section>
</body>
uy   
<body xmlns="http://effbot.org/ns">
  <tag>text</tag>
  <tag />
  <section>
    <tag>subtext</tag>
  </section>
</body>
c               C   s   d S(   uD   
    Import sanity.

    >>> from xml.etree import cElementTree
    N(    (    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   sanity   s    c             C   s%   t  |  d ƒ p t |  d ƒ n d  S(   Nu   __call__u   not callable(   u   hasattru   print(   u   method(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   check_method%   s    c             C   s>   d d  l  } | j ƒ  } |  j | ƒ } | j | ƒ | j ƒ  S(   Ni    (   u   iou   StringIOu   ElementTreeu   writeu   getvalue(   u   ETu   elemu   iou   fileu   tree(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu	   serialize)   s
    c             C   s   |  j  S(   N(   u   tag(   u   elem(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu	   summarize0   s    c             C   s   t  t t |  ƒ ƒ S(   N(   u   listu   mapu	   summarize(   u   seq(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   summarize_list3   s    c               C   s   d S(   u‹  
    Test element tree interface.

    >>> element = ET.Element("tag", key="value")
    >>> tree = ET.ElementTree(element)

    Make sure all standard element methods exist.

    >>> check_method(element.append)
    >>> check_method(element.insert)
    >>> check_method(element.remove)
    >>> check_method(element.getchildren)
    >>> check_method(element.find)
    >>> check_method(element.findall)
    >>> check_method(element.findtext)
    >>> check_method(element.clear)
    >>> check_method(element.get)
    >>> check_method(element.set)
    >>> check_method(element.keys)
    >>> check_method(element.items)
    >>> check_method(element.getiterator)

    Basic method sanity checks.

    >>> serialize(ET, element) # 1
    '<tag key="value" />'
    >>> subelement = ET.Element("subtag")
    >>> element.append(subelement)
    >>> serialize(ET, element) #  2
    '<tag key="value"><subtag /></tag>'
    >>> element.insert(0, subelement)
    >>> serialize(ET, element) # 3
    '<tag key="value"><subtag /><subtag /></tag>'
    >>> element.remove(subelement)
    >>> serialize(ET, element) # 4
    '<tag key="value"><subtag /></tag>'
    >>> element.remove(subelement)
    >>> serialize(ET, element) # 5
    '<tag key="value" />'
    >>> element.remove(subelement)
    Traceback (most recent call last):
    ValueError: list.remove(x): x not in list
    >>> serialize(ET, element) # 6
    '<tag key="value" />'
    N(    (    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu	   interface6   s    c               C   s   d S(   u+  
    Test find methods (including xpath syntax).

    >>> elem = ET.XML(SAMPLE_XML)
    >>> elem.find("tag").tag
    'tag'
    >>> ET.ElementTree(elem).find("tag").tag
    'tag'
    >>> elem.find("section/tag").tag
    'tag'
    >>> ET.ElementTree(elem).find("section/tag").tag
    'tag'
    >>> elem.findtext("tag")
    'text'
    >>> elem.findtext("tog")
    >>> elem.findtext("tog", "default")
    'default'
    >>> ET.ElementTree(elem).findtext("tag")
    'text'
    >>> elem.findtext("section/tag")
    'subtext'
    >>> ET.ElementTree(elem).findtext("section/tag")
    'subtext'
    >>> summarize_list(elem.findall("tag"))
    ['tag', 'tag']
    >>> summarize_list(elem.findall("*"))
    ['tag', 'tag', 'section']
    >>> summarize_list(elem.findall(".//tag"))
    ['tag', 'tag', 'tag']
    >>> summarize_list(elem.findall("section/tag"))
    ['tag']
    >>> summarize_list(elem.findall("section//tag"))
    ['tag']
    >>> summarize_list(elem.findall("section/*"))
    ['tag']
    >>> summarize_list(elem.findall("section//*"))
    ['tag']
    >>> summarize_list(elem.findall("section/.//*"))
    ['tag']
    >>> summarize_list(elem.findall("*/*"))
    ['tag']
    >>> summarize_list(elem.findall("*//*"))
    ['tag']
    >>> summarize_list(elem.findall("*/tag"))
    ['tag']
    >>> summarize_list(elem.findall("*/./tag"))
    ['tag']
    >>> summarize_list(elem.findall("./tag"))
    ['tag', 'tag']
    >>> summarize_list(elem.findall(".//tag"))
    ['tag', 'tag', 'tag']
    >>> summarize_list(elem.findall("././tag"))
    ['tag', 'tag']
    >>> summarize_list(ET.ElementTree(elem).findall("/tag"))
    ['tag', 'tag']
    >>> summarize_list(ET.ElementTree(elem).findall("./tag"))
    ['tag', 'tag']
    >>> elem = ET.XML(SAMPLE_XML_NS)
    >>> summarize_list(elem.findall("tag"))
    []
    >>> summarize_list(elem.findall("{http://effbot.org/ns}tag"))
    ['{http://effbot.org/ns}tag', '{http://effbot.org/ns}tag']
    >>> summarize_list(elem.findall(".//{http://effbot.org/ns}tag"))
    ['{http://effbot.org/ns}tag', '{http://effbot.org/ns}tag', '{http://effbot.org/ns}tag']
    N(    (    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   finde   s    c               C   s   d S(   uÈ  

    >>> element = ET.XML("<html><body>text</body></html>")
    >>> ET.ElementTree(element).write(sys.stdout)
    <html><body>text</body></html>
    >>> element = ET.fromstring("<html><body>text</body></html>")
    >>> ET.ElementTree(element).write(sys.stdout)
    <html><body>text</body></html>
    >>> print(ET.tostring(element))
    <html><body>text</body></html>
    >>> print(repr(ET.tostring(element, "ascii")))
    b"<?xml version='1.0' encoding='ascii'?>\n<html><body>text</body></html>"
    >>> _, ids = ET.XMLID("<html><body>text</body></html>")
    >>> len(ids)
    0
    >>> _, ids = ET.XMLID("<html><body id='body'>text</body></html>")
    >>> len(ids)
    1
    >>> ids["body"].tag
    'body'
    N(    (    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   parseliteral¨   s    c             C   s   t  j d |  ƒ d S(   u×   
    >>> check_encoding("ascii")
    >>> check_encoding("us-ascii")
    >>> check_encoding("iso-8859-1")
    >>> check_encoding("iso-8859-15")
    >>> check_encoding("cp437")
    >>> check_encoding("mac-roman")
    u*   <?xml version='1.0' encoding='%s'?><xml />N(   u   ETu   XML(   u   encoding(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   check_encoding¿   s    	c               C   s   d S(   u¼   
    >>> bob = ET.TreeBuilder()
    >>> e = bob.data("data")
    >>> e = bob.start("tag", {})
    >>> e = bob.end("tag")
    >>> e = bob.close()
    >>> serialize(ET, e)
    '<tag />'
    N(    (    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   bug_1534630Ì   s    c              C   s'   d d l  m }  t j |  d d ƒd  S(   Ni    (   u   test_xml_etree_cu	   verbosityT(   u   testu   test_xml_etree_cu   supportu   run_doctestu   True(   u   test_xml_etree_c(    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu	   test_main×   s    u   __main__(   u   doctestu   sysu   testu   supportu	   xml.etreeu   cElementTreeu   ETu
   SAMPLE_XMLu   SAMPLE_XML_NSu   sanityu   check_methodu	   serializeu	   summarizeu   summarize_listu	   interfaceu   findu   parseliteralu   check_encodingu   bug_1534630u	   test_mainu   __name__(    (    (    u2   /mit/python/lib/python3.0/test/test_xml_etree_c.pyu   <module>   s$   

						/	C				