summaryrefslogtreecommitdiff
path: root/sw/qa/python
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2015-06-25 00:15:26 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2015-06-25 00:26:48 +0200
commit246d4d2cd898d046be90da24e449eec21d7ddfa6 (patch)
tree9fec037b37a9091889b91971dacc5f5c22c8ed0f /sw/qa/python
parentd43bb0e02df3b24d6dedde6fd6351923cb25bce6 (diff)
add tests for SwChartDataSequence and SwChartDataProvider
Change-Id: I468bb651b5febd090fb3cc15795589124c1e8375
Diffstat (limited to 'sw/qa/python')
-rw-r--r--sw/qa/python/check_table.py37
1 files changed, 37 insertions, 0 deletions
diff --git a/sw/qa/python/check_table.py b/sw/qa/python/check_table.py
index f026e62d4e44..299661420b9f 100644
--- a/sw/qa/python/check_table.py
+++ b/sw/qa/python/check_table.py
@@ -1,6 +1,7 @@
import math
import unittest
from org.libreoffice.unotest import UnoInProcess
+from com.sun.star.beans import PropertyValue
from com.sun.star.uno import RuntimeException
from com.sun.star.table import BorderLine
from com.sun.star.table import BorderLine2
@@ -414,6 +415,42 @@ class CheckTable(unittest.TestCase):
self.assertTrue(math.isnan(xTable.Data[2][x]))
xDoc.dispose()
+ def test_chartdataprovider(self):
+ xDoc = CheckTable._uno.openEmptyWriterDoc()
+ xTable = xDoc.createInstance("com.sun.star.text.TextTable")
+ xTable.initialize(4, 3)
+ xCursor = xDoc.Text.createTextCursor()
+ xDoc.Text.insertTextContent(xCursor, xTable, False)
+ xTable.ChartColumnAsLabel = False
+ xTable.ChartRowAsLabel = False
+ xTable.Data = ((1,2,3), (4,5,6), (7,8,9), (10,11,12))
+ self.assertTrue(xTable.Name == 'Table1')
+ self.assertIn('com.sun.star.text.GenericTextDocument', xDoc.SupportedServiceNames)
+ xChartdataprovider = xDoc.createInstance('com.sun.star.chart2.data.DataProvider')
+ self.assertIs(type(xChartdataprovider.ImplementationName), type('SwChartDataProvider')) # not testing value, just type and coverage
+ self.assertTrue(xChartdataprovider.supportsService('com.sun.star.chart2.data.DataProvider'))
+ self.assertFalse(xChartdataprovider.supportsService('foo'))
+ self.assertIn('com.sun.star.chart2.data.DataProvider', xChartdataprovider.SupportedServiceNames)
+ pv = PropertyValue()
+ pv.Name = 'CellRangeRepresentation'
+ pv.Value = 'Table1.A1:C2'
+ xDataSource = xChartdataprovider.createDataSource((pv,))
+ self.assertEqual(len(xDataSource.DataSequences), 3)
+ expectedValues = ((1,4), (2,5), (3,6))
+ expectedCellrange = ('A1:A2', 'B1:B2', 'C1:C2')
+ for col in range(3):
+ xSeq = xDataSource.DataSequences[col].Values
+ self.assertIs(type(xSeq.ImplementationName), type('SwChartDataSequence')) # not testing value, just type and coverage
+ self.assertTrue(xSeq.supportsService('com.sun.star.chart2.data.DataSequence'))
+ self.assertFalse(xSeq.supportsService('foo'))
+ self.assertIn('com.sun.star.chart2.data.DataSequence', xSeq.SupportedServiceNames)
+ self.assertEqual(xSeq.SourceRangeRepresentation, 'Table1.%s' % expectedCellrange[col])
+ self.assertEqual(xSeq.Data, expectedValues[col])
+ self.assertEqual(xSeq.NumericalData, expectedValues[col])
+ self.assertEqual(
+ [int(txtval) for txtval in xSeq.TextualData],
+ [val for val in expectedValues[col]])
+
if __name__ == '__main__':
unittest.main()