2013-07-07 22:41:52 +02:00
|
|
|
import unittest
|
|
|
|
from org.libreoffice.unotest import UnoInProcess
|
|
|
|
from com.sun.star.uno import RuntimeException
|
|
|
|
from com.sun.star.table import BorderLine
|
|
|
|
from com.sun.star.table import BorderLine2
|
|
|
|
from com.sun.star.table.BorderLineStyle import (DOUBLE, SOLID, EMBOSSED,\
|
|
|
|
THICKTHIN_LARGEGAP, DASHED, DOTTED)
|
|
|
|
|
|
|
|
class CheckTable(unittest.TestCase):
|
|
|
|
_uno = None
|
2015-04-13 01:38:51 +02:00
|
|
|
def _fill_table(self, xTable):
|
|
|
|
for x in range(3):
|
|
|
|
for y in range(3):
|
|
|
|
xTable.getCellByPosition(x, y).String = 'Cell %d %d' % (x, y)
|
|
|
|
def _check_table(self, xTable):
|
|
|
|
for x in range(3):
|
|
|
|
for y in range(3):
|
|
|
|
self.assertEqual('Cell %d %d' % (x, y), xTable.getCellByPosition(x, y).String)
|
2013-07-07 22:41:52 +02:00
|
|
|
@classmethod
|
|
|
|
def setUpClass(cls):
|
|
|
|
cls._uno = UnoInProcess()
|
|
|
|
cls._uno.setUp()
|
|
|
|
@classmethod
|
|
|
|
def tearDownClass(cls):
|
|
|
|
cls._uno.tearDown()
|
|
|
|
|
|
|
|
def test_tableborder(self):
|
2015-03-31 01:22:47 +02:00
|
|
|
xDoc = CheckTable._uno.openEmptyWriterDoc()
|
2013-07-07 22:41:52 +02:00
|
|
|
# insert table
|
|
|
|
xTable = xDoc.createInstance("com.sun.star.text.TextTable")
|
|
|
|
xTable.initialize(3, 3)
|
|
|
|
xText = xDoc.getText()
|
|
|
|
xCursor = xText.createTextCursor()
|
|
|
|
xText.insertTextContent(xCursor, xTable, False)
|
|
|
|
|
|
|
|
border = xTable.getPropertyValue("TableBorder")
|
|
|
|
|
|
|
|
self.assertTrue(border.IsTopLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.TopLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.TopLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.TopLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.TopLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsBottomLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.BottomLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.BottomLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.BottomLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.BottomLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsLeftLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.LeftLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.LeftLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.LeftLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.LeftLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsRightLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.RightLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.RightLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.RightLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.RightLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsHorizontalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.HorizontalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.HorizontalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.HorizontalLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.HorizontalLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsVerticalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.VerticalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.VerticalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.VerticalLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.VerticalLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsDistanceValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(97, border.Distance)
|
2013-07-07 22:41:52 +02:00
|
|
|
# set border
|
|
|
|
border.TopLine = BorderLine(0, 11, 19, 19)
|
|
|
|
border.BottomLine = BorderLine(0xFF, 00, 11, 00)
|
|
|
|
border.HorizontalLine = BorderLine(0xFF00, 00, 90, 00)
|
|
|
|
xTable.setPropertyValue("TableBorder", border)
|
|
|
|
# read set border
|
|
|
|
border = xTable.getPropertyValue("TableBorder")
|
|
|
|
|
|
|
|
self.assertTrue(border.IsTopLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(11, border.TopLine.InnerLineWidth)
|
|
|
|
self.assertEqual(19, border.TopLine.OuterLineWidth)
|
|
|
|
self.assertEqual(19, border.TopLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.TopLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsBottomLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.BottomLine.InnerLineWidth)
|
|
|
|
self.assertEqual(11, border.BottomLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.BottomLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF, border.BottomLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsLeftLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.LeftLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.LeftLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.LeftLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.LeftLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsRightLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.RightLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.RightLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.RightLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.RightLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsHorizontalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.HorizontalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(90, border.HorizontalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.HorizontalLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF00, border.HorizontalLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsVerticalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border.VerticalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border.VerticalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border.VerticalLine.LineDistance)
|
|
|
|
self.assertEqual(0, border.VerticalLine.Color)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border.IsDistanceValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(97, border.Distance)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
border2 = xTable.getPropertyValue("TableBorder2")
|
|
|
|
self.assertTrue(border2.IsTopLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(11, border2.TopLine.InnerLineWidth)
|
|
|
|
self.assertEqual(19, border2.TopLine.OuterLineWidth)
|
|
|
|
self.assertEqual(19, border2.TopLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.TopLine.Color)
|
|
|
|
self.assertEqual(DOUBLE, border2.TopLine.LineStyle)
|
|
|
|
self.assertEqual(49, border2.TopLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsBottomLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.BottomLine.InnerLineWidth)
|
|
|
|
self.assertEqual(11, border2.BottomLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.BottomLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF, border2.BottomLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.BottomLine.LineStyle)
|
|
|
|
self.assertEqual(11, border2.BottomLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsLeftLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.LeftLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border2.LeftLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.LeftLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.LeftLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.LeftLine.LineStyle)
|
|
|
|
self.assertEqual(2, border2.LeftLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsRightLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.RightLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border2.RightLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.RightLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.RightLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.RightLine.LineStyle)
|
|
|
|
self.assertEqual(2, border2.RightLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsHorizontalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.HorizontalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(90, border2.HorizontalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.HorizontalLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF00, border2.HorizontalLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.HorizontalLine.LineStyle)
|
|
|
|
self.assertEqual(90, border2.HorizontalLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsVerticalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.VerticalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(2, border2.VerticalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.VerticalLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.VerticalLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.VerticalLine.LineStyle)
|
|
|
|
self.assertEqual(2, border2.VerticalLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsDistanceValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(97, border2.Distance)
|
2013-07-07 22:41:52 +02:00
|
|
|
# set border2
|
|
|
|
border2.RightLine = BorderLine2(0, 0, 0, 0, THICKTHIN_LARGEGAP, 120)
|
|
|
|
border2.LeftLine = BorderLine2(0, 0, 0, 0, EMBOSSED, 90)
|
|
|
|
border2.VerticalLine = BorderLine2(0xFF, 0, 90, 0, DOTTED, 0)
|
|
|
|
border2.HorizontalLine = BorderLine2(0xFF00, 0, 0, 0, DASHED, 11)
|
|
|
|
xTable.setPropertyValue("TableBorder2", border2)
|
|
|
|
# read set border2
|
|
|
|
border2 = xTable.getPropertyValue("TableBorder2")
|
|
|
|
|
|
|
|
self.assertTrue(border2.IsTopLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(11, border2.TopLine.InnerLineWidth)
|
|
|
|
self.assertEqual(19, border2.TopLine.OuterLineWidth)
|
|
|
|
self.assertEqual(19, border2.TopLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.TopLine.Color)
|
|
|
|
self.assertEqual(DOUBLE, border2.TopLine.LineStyle)
|
|
|
|
self.assertEqual(49, border2.TopLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsBottomLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.BottomLine.InnerLineWidth)
|
|
|
|
self.assertEqual(11, border2.BottomLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.BottomLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF, border2.BottomLine.Color)
|
|
|
|
self.assertEqual(SOLID, border2.BottomLine.LineStyle)
|
|
|
|
self.assertEqual(11, border2.BottomLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsLeftLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(23, border2.LeftLine.InnerLineWidth)
|
|
|
|
self.assertEqual(23, border2.LeftLine.OuterLineWidth)
|
|
|
|
self.assertEqual(46, border2.LeftLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.LeftLine.Color)
|
|
|
|
self.assertEqual(EMBOSSED, border2.LeftLine.LineStyle)
|
|
|
|
self.assertEqual(90, border2.LeftLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsRightLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(53, border2.RightLine.InnerLineWidth)
|
|
|
|
self.assertEqual(26, border2.RightLine.OuterLineWidth)
|
|
|
|
self.assertEqual(41, border2.RightLine.LineDistance)
|
|
|
|
self.assertEqual(0, border2.RightLine.Color)
|
|
|
|
self.assertEqual(THICKTHIN_LARGEGAP, border2.RightLine.LineStyle)
|
|
|
|
self.assertEqual(120, border2.RightLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsHorizontalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.HorizontalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(11, border2.HorizontalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.HorizontalLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF00, border2.HorizontalLine.Color)
|
|
|
|
self.assertEqual(DASHED, border2.HorizontalLine.LineStyle)
|
|
|
|
self.assertEqual(11, border2.HorizontalLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsVerticalLineValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(0, border2.VerticalLine.InnerLineWidth)
|
|
|
|
self.assertEqual(90, border2.VerticalLine.OuterLineWidth)
|
|
|
|
self.assertEqual(0, border2.VerticalLine.LineDistance)
|
|
|
|
self.assertEqual(0xFF, border2.VerticalLine.Color)
|
|
|
|
self.assertEqual(DOTTED, border2.VerticalLine.LineStyle)
|
|
|
|
self.assertEqual(90, border2.VerticalLine.LineWidth)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
self.assertTrue(border2.IsDistanceValid)
|
2014-08-13 22:23:28 +02:00
|
|
|
self.assertEqual(97, border2.Distance)
|
2013-07-07 22:41:52 +02:00
|
|
|
|
|
|
|
# close document
|
|
|
|
xDoc.dispose()
|
|
|
|
|
|
|
|
def test_fdo58242(self):
|
2015-03-31 01:22:47 +02:00
|
|
|
xDoc = CheckTable._uno.openEmptyWriterDoc()
|
2013-07-07 22:41:52 +02:00
|
|
|
# insert table
|
|
|
|
xTable = xDoc.createInstance("com.sun.star.text.TextTable")
|
|
|
|
xTable.initialize(3, 3)
|
|
|
|
xText = xDoc.getText()
|
|
|
|
xCursor = xText.createTextCursor()
|
|
|
|
xText.insertTextContent(xCursor, xTable, False)
|
|
|
|
# get anchor
|
|
|
|
xAnchor = xTable.getAnchor()
|
|
|
|
|
|
|
|
# check all properties on the anchor - shouldn't crash despite
|
|
|
|
# pointing to a non-SwTxtNode
|
|
|
|
xPropsInfo = xAnchor.getPropertySetInfo()
|
|
|
|
for i in xPropsInfo.getProperties():
|
|
|
|
try:
|
|
|
|
xAnchor.getPropertyValue(i.Name)
|
|
|
|
except RuntimeException:
|
|
|
|
pass
|
|
|
|
# close document
|
|
|
|
xDoc.dispose()
|
|
|
|
|
2015-03-30 16:58:37 +02:00
|
|
|
def test_descriptions(self):
|
2015-03-31 01:22:47 +02:00
|
|
|
xDoc = CheckTable._uno.openEmptyWriterDoc()
|
2015-03-30 16:58:37 +02:00
|
|
|
# insert table
|
|
|
|
xTable = xDoc.createInstance("com.sun.star.text.TextTable")
|
|
|
|
xTable.initialize(3, 3)
|
|
|
|
xCursor = xDoc.Text.createTextCursor()
|
|
|
|
xDoc.Text.insertTextContent(xCursor, xTable, False)
|
|
|
|
self.assertEqual(3, xTable.Rows.Count)
|
|
|
|
self.assertEqual(3, xTable.Columns.Count)
|
2015-03-31 02:24:06 +02:00
|
|
|
# fill table
|
2015-04-13 01:05:27 +02:00
|
|
|
self._fill_table(xTable)
|
|
|
|
self._check_table(xTable)
|
2015-03-31 02:24:06 +02:00
|
|
|
# check without labels first
|
|
|
|
xTable.ChartColumnAsLabel = False
|
|
|
|
xTable.ChartRowAsLabel = False
|
|
|
|
self.assertEqual(0, len(xTable.RowDescriptions))
|
|
|
|
self.assertEqual(0, len(xTable.ColumnDescriptions))
|
|
|
|
self.RowDescriptions = ('foo', 'bar', 'baz') # no labels, thus noop
|
|
|
|
self.ColumnDescriptions = ('foo', 'bar', 'baz') # no labels, thus noop
|
2015-04-13 01:05:27 +02:00
|
|
|
self._check_table(xTable)
|
2015-03-31 02:24:06 +02:00
|
|
|
# now check with labels
|
2015-03-30 16:58:37 +02:00
|
|
|
xTable.ChartColumnAsLabel = True
|
|
|
|
xTable.ChartRowAsLabel = True
|
|
|
|
self.assertEqual(2, len(xTable.RowDescriptions))
|
|
|
|
self.assertEqual('Cell 0 1', xTable.RowDescriptions[0])
|
|
|
|
self.assertEqual('Cell 0 2', xTable.RowDescriptions[1])
|
|
|
|
self.assertEqual(2, len(xTable.ColumnDescriptions))
|
|
|
|
self.assertEqual('Cell 1 0', xTable.ColumnDescriptions[0])
|
|
|
|
self.assertEqual('Cell 2 0', xTable.ColumnDescriptions[1])
|
2015-03-31 02:24:06 +02:00
|
|
|
with self.assertRaises(Exception):
|
|
|
|
xTable.RowDescriptions = ('foo',) # too short
|
|
|
|
with self.assertRaises(Exception):
|
|
|
|
xTable.ColumnDescriptions = ('foo',) # too short
|
2015-04-13 01:05:27 +02:00
|
|
|
self._check_table(xTable)
|
2015-03-31 02:24:06 +02:00
|
|
|
xTable.RowDescriptions = ('fooRow', 'bazRow')
|
|
|
|
xTable.ColumnDescriptions = ('fooColumn', 'bazColumn')
|
|
|
|
self.assertEqual('fooRow', xTable.getCellByPosition(0,1).String)
|
|
|
|
self.assertEqual('bazRow', xTable.getCellByPosition(0,2).String)
|
|
|
|
self.assertEqual('fooColumn', xTable.getCellByPosition(1,0).String)
|
|
|
|
self.assertEqual('bazColumn', xTable.getCellByPosition(2,0).String)
|
|
|
|
xTable.getCellByPosition(0,1).String = 'Cell 0 1' # reset changes values ...
|
|
|
|
xTable.getCellByPosition(0,2).String = 'Cell 0 2'
|
|
|
|
xTable.getCellByPosition(1,0).String = 'Cell 1 0'
|
|
|
|
xTable.getCellByPosition(2,0).String = 'Cell 2 0'
|
2015-04-13 01:05:27 +02:00
|
|
|
self._check_table(xTable) # ... to ensure the rest was untouched
|
2015-03-31 02:24:06 +02:00
|
|
|
# check disconnected table excepts, but doesnt crash
|
|
|
|
xTable2 = xDoc.createInstance("com.sun.star.text.TextTable")
|
|
|
|
xTable2.initialize(3, 3)
|
|
|
|
with self.assertRaises(Exception):
|
|
|
|
foo = xTable2.RowDescriptions
|
|
|
|
with self.assertRaises(Exception):
|
|
|
|
foo = xTable2.ColumnDescriptions
|
2015-03-31 01:22:47 +02:00
|
|
|
xDoc.dispose()
|
2015-03-30 16:58:37 +02:00
|
|
|
|
2015-04-13 01:38:51 +02:00
|
|
|
def test_getset_data(self):
|
|
|
|
xDoc = CheckTable._uno.openEmptyWriterDoc()
|
|
|
|
# insert table
|
|
|
|
xTable = xDoc.createInstance("com.sun.star.text.TextTable")
|
|
|
|
xTable.initialize(3, 3)
|
|
|
|
xCursor = xDoc.Text.createTextCursor()
|
|
|
|
xDoc.Text.insertTextContent(xCursor, xTable, False)
|
|
|
|
xTable.ChartColumnAsLabel = False
|
|
|
|
xTable.ChartRowAsLabel = False
|
|
|
|
# roundtrip
|
|
|
|
xTable.Data = ((1,2,3), (4,5,6), (7,8,9))
|
|
|
|
self.assertEqual( xTable.Data, ((1,2,3), (4,5,6), (7,8,9)))
|
|
|
|
# missing row
|
|
|
|
with self.assertRaises(Exception):
|
|
|
|
xTable.Data = ((1,2,3), (4,5,6))
|
|
|
|
# missing column
|
|
|
|
with self.assertRaises(Exception):
|
|
|
|
xTable.Data = ((1,2), (4,5), (7,8))
|
|
|
|
# with labels
|
|
|
|
xTable.ChartColumnAsLabel = True
|
|
|
|
xTable.ChartRowAsLabel = True
|
|
|
|
self.assertEqual( xTable.Data, ((5,6), (8,9)))
|
|
|
|
xTable.Data = ((55,66), (88,99))
|
2015-04-13 14:45:14 +02:00
|
|
|
xTable.ChartColumnAsLabel = True
|
|
|
|
xTable.ChartRowAsLabel = False
|
|
|
|
self.assertEqual( xTable.Data, ((2,3), (55,66), (88,99)))
|
|
|
|
xTable.ChartColumnAsLabel = False
|
|
|
|
xTable.ChartRowAsLabel = True
|
|
|
|
self.assertEqual( xTable.Data, ((4,55,66), (7,88,99)))
|
2015-04-13 01:38:51 +02:00
|
|
|
xTable.ChartColumnAsLabel = False
|
|
|
|
xTable.ChartRowAsLabel = False
|
|
|
|
self.assertEqual( xTable.Data, ((1,2,3), (4,55,66), (7,88,99)))
|
|
|
|
xDoc.dispose()
|
2015-03-30 16:58:37 +02:00
|
|
|
|
2013-07-07 22:41:52 +02:00
|
|
|
if __name__ == '__main__':
|
|
|
|
unittest.main()
|
|
|
|
|
|
|
|
# /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|