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")
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')
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")
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')
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, "")
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, '')
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)
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)