[Python-checkins] r73080 - python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_text.py

guilherme.polo python-checkins at python.org
Sun May 31 21:52:28 CEST 2009


Author: guilherme.polo
Date: Sun May 31 21:52:28 2009
New Revision: 73080

Log:
Some tests for Tkinter.Text

Modified:
   python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_text.py

Modified: python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_text.py
==============================================================================
--- python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_text.py	(original)
+++ python/branches/tk_and_idle_maintenance/Lib/lib-tk/test/test_tkinter/test_text.py	Sun May 31 21:52:28 2009
@@ -15,6 +15,138 @@
         self.text.destroy()
 
 
+    def test_bbox(self):
+        self.text.insert('1.0', 'o')
+        bbox = self.text.bbox('1.0')
+        self.assertTrue(isinstance(bbox, tuple))
+        self.assertEqual(len(bbox), 4)
+
+        self.assertIs(self.text.bbox('2.0'), None)
+
+        bbox = self.text.bbox(('1.0', '-1c', '+1c'))
+        self.assertTrue(isinstance(bbox, tuple))
+        self.assertEqual(len(bbox), 4)
+
+        # The following used to raise Tkinter.TclError since text.bbox allowed
+        # passing multiple args.
+        self.assertRaises(TypeError, self.text.bbox, '1.0', '-1c')
+
+    def test_compare(self):
+        self.text.insert('1.0', 'avocado')
+        self.assertEqual(self.text.compare(
+            '1.%d' % len('avocado'), '==', '1.%d' % len('avocado')), 1)
+        self.assertRaises(Tkinter.TclError,
+                self.text.compare, 'end', None, 'end')
+        self.assertRaises(Tkinter.TclError,
+                self.text.compare, 'end', '', 'end')
+
+    def test_debug(self):
+        self.assertFalse(self.text.debug())
+        self.text.debug(True)
+        self.assertTrue(self.text.debug())
+        self.text.debug('0')
+        self.assertFalse(self.text.debug())
+
+    def test_delete(self):
+        word = 'avocado'
+        self.text.insert('1.0', word)
+        end_insert = len(word) - 1
+        # 'delete' doesn't include the character at index2, so word[-1] will
+        # not be removed.
+        self.text.delete('1.0', '1.%d' % end_insert)
+        self.assertEqual(self.text.get('1.0'), word[-1])
+        self.text.delete('1.0')
+        self.assertEqual(self.text.get('1.0').strip(), '')
+
+    def test_dlineinfo(self):
+        self.text.insert('1.0', 'hi')
+        info = self.text.dlineinfo('1.0')
+        self.assertTrue(isinstance(info, tuple))
+        self.assertEqual(len(info), 5)
+
+        self.assertIs(self.text.dlineinfo('3.0'), None)
+
+    def test_dump(self):
+        text = 'hi there'
+        self.text.insert('1.0', text)
+        output = self.text.dump('1.0', '1.5')
+        self.assertTrue(isinstance(output, list))
+        self.assertEqual(len(output), 1)
+        self.assertTrue(isinstance(output[0], tuple))
+        test = output[0]
+        self.assertEqual(test, ('text', text[:5], '1.0'))
+
+        self.assertEqual(self.text.dump('1.0', 'end'),
+                self.text.dump('1.0', 'end', image=True, mark=True, tag=True,
+                    text=True, window=True))
+
+        result = []
+        def cmd(key, value, index):
+            result.append((key, value, index))
+        self.assertIs(self.text.dump('1.0', command=cmd), None)
+        self.assertEqual(result, [('text', text[0], '1.0')])
+        self.assertFalse(self.text._tclCommands)
+
+    def test_edit(self):
+        self.text['undo'] = False
+        self.assertFalse(self.text['undo'])
+
+        self.text.insert('1.0', 'hi')
+        self.text.edit_undo()
+        self.assertEqual(self.text.get('1.0', '1.2'), 'hi')
+        self.text.delete('1.0', 'end')
+
+        self.text['undo'] = True
+        self.assertTrue(self.text['undo'])
+        self.text.insert('1.0', 'hi')
+        self.assertEqual(self.text.get('1.0', '1.2'), 'hi')
+        self.assertTrue(self.text.edit_modified())
+        self.text.edit_undo()
+        self.assertFalse(self.text.get('1.0', '1.2'))
+        # There is nothing to undo now
+        self.assertRaises(Tkinter.TclError, self.text.edit_undo)
+
+        self.text.edit_redo()
+        self.assertEqual(self.text.get('1.0', '1.2'), 'hi')
+
+        self.text.edit_reset()
+        self.assertRaises(Tkinter.TclError, self.text.edit_undo)
+        self.assertRaises(Tkinter.TclError, self.text.edit_redo)
+
+    def test_get(self):
+        word = 'avocado'
+        self.text.insert('1.0', word)
+        self.assertEqual(self.text.get('1.0'), word[0])
+        self.assertEqual(self.text.get('1.0', '1.2'), word[:2])
+
+    def test_image_cget(self):
+        pass
+
+    def test_image_configure(self):
+        pass
+
+    def test_image_names(self):
+        pass
+
+    def test_index(self):
+        self.assertTrue(isinstance(self.text.index('end'), str))
+        self.assertRaises(Tkinter.TclError, self.text.index, '')
+
+    def test_insert(self):
+        self.text.insert('1.0', 'abc')
+        self.text.insert('1.1', 'bcd a', 'mytag')
+        self.assertEqual(self.text.get('1.0', 'end').strip(), 'abcd abc')
+        self.assertIn(self.text.tag_name(), 'mytag')
+
+    def test_mark(self):
+        pass
+
+    def test_scan_mark(self):
+        pass
+
+    def test_scan_dragto(self):
+        pass
+
     def test_search(self):
         text = self.text
 
@@ -32,6 +164,21 @@
         self.failUnlessEqual(text.search('-test', '1.0', 'end'), '1.2')
         self.failUnlessEqual(text.search('test', '1.0', 'end'), '1.3')
 
+    def test_see(self):
+        pass
+
+    def test_tag(self):
+        pass
+
+    def test_window(self):
+        pass
+
+    def test_xview(self):
+        pass
+
+    def test_yview(self):
+        pass
+
 
 tests_gui = (TextTest, )
 


More information about the Python-checkins mailing list