Version 7.6.3.2-android, tag libreoffice-7.6.3.2-android
[LibreOffice.git] / sw / qa / python / check_xtextrangecompare.py
blob181e97ff6b2e90ec58df349423d7a18cfb4496b2
1 #! /usr/bin/env python
2 # -*- tab-width: 4; indent-tabs-mode: nil; py-indent-offset: 4 -*-
4 # This file is part of the LibreOffice project.
6 # This Source Code Form is subject to the terms of the Mozilla Public
7 # License, v. 2.0. If a copy of the MPL was not distributed with this
8 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 import unittest
11 from org.libreoffice.unotest import UnoInProcess
12 from com.sun.star.lang import IllegalArgumentException
15 class XTextRangeCompare(unittest.TestCase):
17 @classmethod
18 def setUpClass(cls):
19 cls._uno = UnoInProcess()
20 cls._uno.setUp()
22 @classmethod
23 def tearDownClass(cls):
24 cls._uno.tearDown()
26 def test_compareRegionStarts(self):
27 xDoc = self._uno.openEmptyWriterDoc()
29 cursor = xDoc.Text.createTextCursor()
30 xDoc.Text.insertString(cursor, "The first paragraph", 0)
32 self.assertEqual(0, xDoc.Text.compareRegionStarts(cursor, cursor))
34 with self.assertRaises(IllegalArgumentException):
35 xDoc.Text.compareRegionStarts(cursor, None)
37 with self.assertRaises(IllegalArgumentException):
38 xDoc.Text.compareRegionStarts(None, cursor)
40 with self.assertRaises(IllegalArgumentException):
41 xDoc.Text.compareRegionStarts(None, None)
43 xDoc.close(True)
45 def test_compareRegionEnds(self):
46 xDoc = self._uno.openEmptyWriterDoc()
48 cursor = xDoc.Text.createTextCursor()
49 xDoc.Text.insertString(cursor, "The first paragraph", 0)
51 self.assertEqual(0, xDoc.Text.compareRegionEnds(cursor, cursor))
53 with self.assertRaises(IllegalArgumentException):
54 xDoc.Text.compareRegionEnds(cursor, None)
56 with self.assertRaises(IllegalArgumentException):
57 xDoc.Text.compareRegionEnds(None, cursor)
59 with self.assertRaises(IllegalArgumentException):
60 xDoc.Text.compareRegionEnds(None, None)
62 xDoc.close(True)
64 def test_compareRegionStarts_Different(self):
65 xDoc = self._uno.openEmptyWriterDoc()
67 cursor1 = xDoc.Text.createTextCursor()
68 cursor2 = xDoc.Text.createTextCursor()
70 xDoc.Text.insertString(cursor1, "The first paragraph", 0)
72 cursor1.gotoStart(False)
73 cursor2.gotoEnd(False)
75 self.assertTrue(cursor1.isCollapsed())
76 self.assertTrue(cursor1.isCollapsed())
78 self.assertEqual(1, xDoc.Text.compareRegionStarts(cursor1, cursor2))
79 self.assertEqual(-1, xDoc.Text.compareRegionStarts(cursor2, cursor1))
81 xDoc.close(True)
83 def test_compareRegionStarts_DiffSelection(self):
84 xDoc = self._uno.openEmptyWriterDoc()
86 cursor1 = xDoc.Text.createTextCursor()
87 cursor2 = xDoc.Text.createTextCursor()
89 xDoc.Text.insertString(cursor1, "The first paragraph", 0)
91 cursor1.gotoStart(False)
92 cursor1.gotoEnd(True)
93 cursor2.gotoEnd(False)
94 cursor2.gotoStart(True)
96 self.assertFalse(cursor1.isCollapsed())
97 self.assertFalse(cursor1.isCollapsed())
99 self.assertEqual(0, xDoc.Text.compareRegionStarts(cursor1, cursor2))
100 self.assertEqual(0, xDoc.Text.compareRegionEnds(cursor1, cursor2))
102 xDoc.close(True)
104 def test_compareRegionStarts_DiffSelection(self):
105 xDoc = self._uno.openEmptyWriterDoc()
107 cursor1 = xDoc.Text.createTextCursor()
108 cursor2 = xDoc.Text.createTextCursor()
110 xDoc.Text.insertString(cursor1, "The first paragraph", 0)
112 cursor1.gotoStart(False)
113 cursor1.gotoEnd(True)
114 cursor1.goLeft(2, True)
115 cursor2.gotoEnd(False)
116 cursor2.gotoStart(True)
117 cursor2.goRight(2, True)
119 self.assertFalse(cursor1.isCollapsed())
120 self.assertFalse(cursor1.isCollapsed())
122 # whole text: 123456789
123 # cursor1: 1234567
124 # cursor2: 3456789
126 self.assertEqual(1, xDoc.Text.compareRegionStarts(cursor1, cursor2))
127 self.assertEqual(1, xDoc.Text.compareRegionEnds(cursor1, cursor2))
129 self.assertEqual(-1, xDoc.Text.compareRegionStarts(cursor2, cursor1))
130 self.assertEqual(-1, xDoc.Text.compareRegionEnds(cursor2, cursor1))
132 xDoc.close(True)
134 def test_compareRegionStarts_SameStart(self):
135 xDoc = self._uno.openEmptyWriterDoc()
137 cursor1 = xDoc.Text.createTextCursor()
138 cursor2 = xDoc.Text.createTextCursor()
140 xDoc.Text.insertString(cursor1, "The first paragraph", 0)
142 cursor1.gotoStart(False)
143 cursor1.goRight(2, False)
144 cursor1.goRight(5, True)
146 cursor2.gotoStart(False)
147 cursor2.goRight(2, False)
148 cursor2.goRight(7, True)
150 self.assertFalse(cursor1.isCollapsed())
151 self.assertFalse(cursor1.isCollapsed())
153 # whole text: 123456789
154 # cursor1: 34567
155 # cursor2: 3456789
157 self.assertEqual(0, xDoc.Text.compareRegionStarts(cursor1, cursor2))
158 self.assertEqual(0, xDoc.Text.compareRegionStarts(cursor2, cursor1))
160 self.assertEqual(1, xDoc.Text.compareRegionEnds(cursor1, cursor2))
161 self.assertEqual(-1, xDoc.Text.compareRegionEnds(cursor2, cursor1))
163 xDoc.close(True)
166 if __name__ == '__main__':
167 unittest.main()
169 # vim: set shiftwidth=4 softtabstop=4 expandtab: