コード例 #1
0
 def _parse_spec(self, path):
     if not os.path.isfile(path):
         raise DataError("Spec file '%s' does not exist." % path)
     with ETSource(path) as source:
         root = ET.parse(source).getroot()
     if root.tag != 'keywordspec':
         raise DataError("Invalid spec file '%s'." % path)
     return root
コード例 #2
0
 def _verify_node(self, node, name, text=None, attrs={}):
     if node is None:
         with ETSource(PATH) as source:
             node = ET.parse(source).getroot()
     assert_equals(node.tag, name)
     if text is not None:
         assert_equals(node.text, text)
     assert_equals(node.attrib, attrs)
コード例 #3
0
 def test_rows_are_not_split_if_there_are_headers(self):
     output = self._add_long_step_and_save("html")
     with ETSource("\n".join(output.splitlines()[1:])) as source:
         tree = ET.parse(source)
     lines = tree.findall("body/table/tr")
     assert_equals(len(lines), 3)
     for l in lines:
         cols = l.findall("td") or l.findall("th")
         assert_equals(len(cols), 9)
コード例 #4
0
 def test_rows_are_not_split_if_there_are_headers(self):
     output = self._add_long_step_and_save('html')
     with ETSource('\n'.join(output.splitlines()[1:])) as source:
         tree = ET.parse(source)
     lines = tree.findall('body/table/tr')
     assert_equal(len(lines), 3)
     for l in lines:
         cols = l.findall('td') or l.findall('th')
         assert_equal(len(cols), 9)
コード例 #5
0
 def test_content_with_unicode(self):
     self.writer.start("root")
     self.writer.element(u"e", u"Circle is 360\u00B0")
     self.writer.element(u"f", u"Hyv\u00E4\u00E4 \u00FC\u00F6t\u00E4")
     self.writer.end("root")
     self.writer.close()
     with ETSource(PATH) as source:
         root = ET.parse(source).getroot()
     self._verify_node(root.find("e"), "e", u"Circle is 360\u00B0")
     self._verify_node(root.find("f"), "f", u"Hyv\u00E4\u00E4 \u00FC\u00F6t\u00E4")
コード例 #6
0
 def test_write_many_elements(self):
     self.writer.start("root", {"version": "test"})
     self.writer.start("child1", {"my-attr": "my value"})
     self.writer.element("leaf1.1", "leaf content", {"type": "kw"})
     self.writer.element("leaf1.2")
     self.writer.end("child1")
     self.writer.element("child2", attrs={"class": "foo"})
     self.writer.end("root")
     self.writer.close()
     with ETSource(PATH) as source:
         root = ET.parse(source).getroot()
     self._verify_node(root, "root", attrs={"version": "test"})
     self._verify_node(root.find("child1"), "child1", attrs={"my-attr": "my value"})
     self._verify_node(root.find("child1/leaf1.1"), "leaf1.1", "leaf content", {"type": "kw"})
     self._verify_node(root.find("child1/leaf1.2"), "leaf1.2")
     self._verify_node(root.find("child2"), "child2", attrs={"class": "foo"})
コード例 #7
0
ファイル: XML.py プロジェクト: quangdt/plan_come_on_baby
    def parse_xml(self, source):
        """Parses the given XML file or string into an element structure.

        The `source` can either be a path to an XML file or a string containing
        XML. In both cases the XML is parsed into ElementTree
        [http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element|element structure]
        and the root element is returned.

        Examples:
        | ${xml} =  | Parse XML | ${CURDIR}/test.xml    |
        | ${root} = | Parse XML | <root><child/></root> |

        For more details and examples, see `Parsing XML` section in the
        `introduction`.

        See also `Get Element` and `Get Elements`.
        """
        with ETSource(source) as source:
            return ET.parse(source).getroot()
コード例 #8
0
def get_interpreter(output):
    tree = ET.parse(output)
    root = tree.getroot()
    return Interpreter(*MATCHER.match(root.attrib['generator']).groups())
コード例 #9
0
 def _xml_lines(self, text):
     with ETSource(text) as source:
         tree = ET.parse(source)
     output = StringIO()
     tree.write(output)
     return output.getvalue().splitlines()
コード例 #10
0
 def _get_root(self):
     self.writer.close()
     with ETSource(PATH) as source:
         return ET.parse(source).getroot()
コード例 #11
0
ファイル: XmlLibrary.py プロジェクト: Senseg/robotframework
 def parse_xml(self, source):
     with ETSource(source) as source:
         return ET.parse(source).getroot()
コード例 #12
0
 def _get_root(self):
     self.writer.close()
     with ETSource(PATH) as source:
         return ET.parse(source).getroot()
コード例 #13
0
 def _xml_lines(self, text):
     with ETSource(text) as source:
         tree = ET.parse(source)
     output = BytesIO()
     tree.write(output)
     return output.getvalue().splitlines()
コード例 #14
0
ファイル: specbuilder.py プロジェクト: EnochManohar/RIDE
 def _parse_spec(self, path):
     with ETSource(path) as source:
         return ET.parse(source).getroot()
コード例 #15
0
def get_interpreter(output):
    tree = ET.parse(output)
    root = tree.getroot()
    return Interpreter(*MATCHER.match(root.attrib['generator']).groups())