示例#1
0
 def test_rm_namespace(self):
     element = ETree.fromstring(gen_xlsx_sheet())
     render.rm_namespace(element)
     element_iter = compat.itertree(element)
     self.assertEqual(next(element_iter).tag, "worksheet")
     self.assertEqual(next(element_iter).tag, "sheetPr")
     self.assertEqual(next(element_iter).tag, "outlinePr")
示例#2
0
 def test_rm_namespace(self):
     element = ETree.fromstring(gen_xlsx_sheet())
     render.rm_namespace(element)
     element_iter = compat.itertree(element)
     self.assertEqual(next(element_iter).tag, 'worksheet')
     self.assertEqual(next(element_iter).tag, 'sheetPr')
     self.assertEqual(next(element_iter).tag, 'outlinePr')
示例#3
0
 def test_get_header_and_row_template(self):
     header, template = render.get_header_and_row_template(gen_xlsx_sheet())
     self.assertTrue(header is None)
     self.assertEqual(template.tag, "row")
     self.assertEqual(template.get("r"), "1")
     element_iter = compat.itertree(template)
     next(element_iter)
     child = next(element_iter)
     self.assertEqual(child.tag, "c")
     self.assertEqual(child.get("r"), "A1")
示例#4
0
 def test_get_header_and_row_template(self):
     header, template = render.get_header_and_row_template(gen_xlsx_sheet())
     self.assertTrue(header is None)
     self.assertEqual(template.tag, 'row')
     self.assertEqual(template.get('r'), '1')
     element_iter = compat.itertree(template)
     next(element_iter)
     child = next(element_iter)
     self.assertEqual(child.tag, 'c')
     self.assertEqual(child.get('r'), 'A1')
示例#5
0
    def test_update_cell(self):
        cell = ETree.Element("c", t="n", r="A1")
        sub_elem = ETree.SubElement(cell, "v")
        sub_elem.text = "123"
        render.update_cell(cell, line=30, value=125)
        self.assertEqual(cell.get("r"), "A30")
        self.assertEqual(cell.get("t"), "n")
        self.assertEqual(sub_elem.text, "125")
        render.update_cell(cell, line=30, value=None)
        self.assertEqual(sub_elem.text, "")

        cell = ETree.Element("c", r="A1")
        sub_elem = ETree.SubElement(cell, "v")
        sub_elem.text = "123"
        render.update_cell(cell, line=30, value=125)
        self.assertEqual(cell.get("r"), "A30")
        self.assertEqual(cell.get("t"), None)
        self.assertEqual(sub_elem.text, "125")
        render.update_cell(cell, line=30, value=None)
        self.assertEqual(sub_elem.text, "")

        cell = ETree.Element("c", t="b", r="B1")
        sub_elem = ETree.SubElement(cell, "v")
        sub_elem.text = "1"
        render.update_cell(cell, line=12, value=False)
        self.assertEqual(cell.get("r"), "B12")
        self.assertEqual(cell.get("t"), "b")
        self.assertEqual(sub_elem.text, "0")
        render.update_cell(cell, line=12, value=None)
        self.assertEqual(sub_elem.text, "")

        cell = ETree.Element("c", t="s", r="C1")
        sub_elem = ETree.SubElement(ETree.SubElement(cell, "is"), "t")
        sub_elem.text = "Ok"
        render.update_cell(cell, line=2, value="Updated")
        self.assertEqual(cell.get("r"), "C2")
        self.assertEqual(cell.get("t"), "inlineStr")
        element_iter = compat.itertree(cell)
        next(element_iter)
        self.assertEqual(next(element_iter).tag, "is")
        child = next(element_iter)
        self.assertEqual(child.tag, "t")
        self.assertEqual(child.text, "Updated")
        render.update_cell(cell, line=2, value=None)
        self.assertEqual(child.text, "")
示例#6
0
    def test_update_cell(self):
        cell = ETree.Element('c', t='n', r='A1')
        sub_elem = ETree.SubElement(cell, 'v')
        sub_elem.text = '123'
        render.update_cell(cell, line=30, value=125)
        self.assertEqual(cell.get('r'), 'A30')
        self.assertEqual(cell.get('t'), 'n')
        self.assertEqual(sub_elem.text, '125')
        render.update_cell(cell, line=30, value=None)
        self.assertEqual(sub_elem.text, '')

        cell = ETree.Element('c', r='A1')
        sub_elem = ETree.SubElement(cell, 'v')
        sub_elem.text = '123'
        render.update_cell(cell, line=30, value=125)
        self.assertEqual(cell.get('r'), 'A30')
        self.assertEqual(cell.get('t'), None)
        self.assertEqual(sub_elem.text, '125')
        render.update_cell(cell, line=30, value=None)
        self.assertEqual(sub_elem.text, '')

        cell = ETree.Element('c', t='b', r='B1')
        sub_elem = ETree.SubElement(cell, 'v')
        sub_elem.text = '1'
        render.update_cell(cell, line=12, value=False)
        self.assertEqual(cell.get('r'), 'B12')
        self.assertEqual(cell.get('t'), 'b')
        self.assertEqual(sub_elem.text, '0')
        render.update_cell(cell, line=12, value=None)
        self.assertEqual(sub_elem.text, '')

        cell = ETree.Element('c', t='s', r='C1')
        sub_elem = ETree.SubElement(ETree.SubElement(cell, 'is'), 't')
        sub_elem.text = 'Ok'
        render.update_cell(cell, line=2, value='Updated')
        self.assertEqual(cell.get('r'), 'C2')
        self.assertEqual(cell.get('t'), 'inlineStr')
        element_iter = compat.itertree(cell)
        next(element_iter)
        self.assertEqual(next(element_iter).tag, 'is')
        child = next(element_iter)
        self.assertEqual(child.tag, 't')
        self.assertEqual(child.text, 'Updated')
        render.update_cell(cell, line=2, value=None)
        self.assertEqual(child.text, '')
示例#7
0
    def test_render_worksheet(self):
        data = [[[42, "Noé!>", 24], [18, "<éON", 21]]]
        document = b""
        xlsx_doc = render.render_worksheet(data, gen_xlsx_sheet())
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b"<worksheet"))
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b"<row"))
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b" </sheetData"))

        tree_iter = compat.itertree(ETree.fromstring(document))
        self.assertEqual(next(tree_iter).tag, "{%s}worksheet" % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, "{%s}sheetData" % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, "{%s}row" % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, "{%s}c" % render.OPENXML_NS)
示例#8
0
    def test_render_worksheet(self):
        data = [[[42, 'Noé!>', 24], [18, '<éON', 21]]]
        document = b''
        xlsx_doc = render.render_worksheet(data, gen_xlsx_sheet())
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b'<worksheet'))
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b'<row'))
        stream = next(xlsx_doc)
        document += stream
        self.assertTrue(stream.startswith(b' </sheetData'))

        tree_iter = compat.itertree(ETree.fromstring(document))
        self.assertEqual(next(tree_iter).tag, '{%s}worksheet' % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, '{%s}sheetData' % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, '{%s}row' % render.OPENXML_NS)
        self.assertEqual(next(tree_iter).tag, '{%s}c' % render.OPENXML_NS)