Beispiel #1
0
 def test_new_tbl_generates_correct_xml(self):
     """CT_Table._new_tbl() returns correct XML"""
     # setup ------------------------
     rows, cols = 2, 3
     width, height = 334, 445
     xml = (
         '<a:tbl %s>\n  <a:tblPr firstRow="1" bandRow="1">\n    <a:tableSt'
         'yleId>{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}</a:tableStyleId>\n '
         ' </a:tblPr>\n  <a:tblGrid>\n    <a:gridCol w="111"/>\n    <a:gri'
         'dCol w="111"/>\n    <a:gridCol w="112"/>\n  </a:tblGrid>\n  <a:t'
         'r h="222">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n '
         '       <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <'
         'a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:'
         'bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBod'
         'y>\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n'
         '        <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n    '
         '  </a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n  <a:tr '
         'h="223">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n   '
         '     <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <a:'
         'tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:bo'
         'dyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBody>'
         '\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n  '
         '      <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      '
         '</a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n</a:tbl>\n'
         % nsdecls('a')
     )
     # exercise ---------------------
     tbl = CT_Table.new_tbl(rows, cols, width, height)
     # verify -----------------------
     self.assertEqualLineByLine(xml, tbl)
Beispiel #2
0
 def it_can_create_a_new_tbl_element_tree(self):
     """
     Indirectly tests that column widths are a proportional split of total
     width and that row heights a proportional split of total height.
     """
     expected_xml = (
         '<a:tbl %s>\n  <a:tblPr firstRow="1" bandRow="1">\n    <a:tableSt'
         "yleId>{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}</a:tableStyleId>\n "
         ' </a:tblPr>\n  <a:tblGrid>\n    <a:gridCol w="111"/>\n    <a:gri'
         'dCol w="111"/>\n    <a:gridCol w="112"/>\n  </a:tblGrid>\n  <a:t'
         'r h="222">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n '
         "       <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <"
         "a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:"
         "bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBod"
         "y>\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n"
         "        <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n    "
         "  </a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n  <a:tr "
         'h="223">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n   '
         "     <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <a:"
         "tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:bo"
         "dyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBody>"
         "\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n  "
         "      <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      "
         "</a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n</a:tbl>\n"
         % nsdecls("a")
     )
     tbl = CT_Table.new_tbl(2, 3, 334, 445)
     assert tbl.xml == expected_xml
 def it_can_create_a_new_tbl_element_tree(self):
     """
     Indirectly tests that column widths are a proportional split of total
     width and that row heights a proportional split of total height.
     """
     expected_xml = (
         '<a:tbl %s>\n  <a:tblPr firstRow="1" bandRow="1">\n    <a:tableSt'
         "yleId>{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}</a:tableStyleId>\n "
         ' </a:tblPr>\n  <a:tblGrid>\n    <a:gridCol w="111"/>\n    <a:gri'
         'dCol w="111"/>\n    <a:gridCol w="112"/>\n  </a:tblGrid>\n  <a:t'
         'r h="222">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n '
         "       <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <"
         "a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:"
         "bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBod"
         "y>\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n"
         "        <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n    "
         "  </a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n  <a:tr "
         'h="223">\n    <a:tc>\n      <a:txBody>\n        <a:bodyPr/>\n   '
         "     <a:lstStyle/>\n        <a:p/>\n      </a:txBody>\n      <a:"
         "tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n        <a:bo"
         "dyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      </a:txBody>"
         "\n      <a:tcPr/>\n    </a:tc>\n    <a:tc>\n      <a:txBody>\n  "
         "      <a:bodyPr/>\n        <a:lstStyle/>\n        <a:p/>\n      "
         "</a:txBody>\n      <a:tcPr/>\n    </a:tc>\n  </a:tr>\n</a:tbl>\n"
         % nsdecls("a"))
     tbl = CT_Table.new_tbl(2, 3, 334, 445)
     assert tbl.xml == expected_xml
Beispiel #4
0
 def new_table_graphicFrame(cls, id_, name, rows, cols, x, y, cx, cy):
     """
     Return a ``<p:graphicFrame>`` element tree populated with a table
     element.
     """
     graphicFrame = cls.new_graphicFrame(id_, name, x, y, cx, cy)
     graphicFrame.graphic.graphicData.uri = GRAPHIC_DATA_URI_TABLE
     graphicFrame.graphic.graphicData.append(
         CT_Table.new_tbl(rows, cols, cx, cy))
     return graphicFrame
Beispiel #5
0
    def new_table(id_, name, rows, cols, left, top, width, height):
        """
        Return a ``<p:graphicFrame>`` element tree populated with a table
        element.
        """
        graphicFrame = CT_GraphicalObjectFrame.new_graphicFrame(
            id_, name, left, top, width, height)

        # set type of contained graphic to table
        graphicData = graphicFrame[qn('a:graphic')].graphicData
        graphicData.set('uri', CT_GraphicalObjectFrame.DATATYPE_TABLE)

        # add tbl element tree
        tbl = CT_Table.new_tbl(rows, cols, width, height)
        graphicData.append(tbl)

        objectify.deannotate(graphicFrame, cleanup_namespaces=True)
        return graphicFrame