PHP 7.4.33
Preview: test_misc.py Size: 4.15 KB
//lib64/python2.7/lib-tk/test/test_tkinter/test_misc.py

import unittest
import Tkinter as tkinter
from test.test_support import requires, run_unittest
from test_ttk.support import AbstractTkTest

requires('gui')

class MiscTest(AbstractTkTest, unittest.TestCase):

    def test_after(self):
        root = self.root
        cbcount = {'count': 0}

        def callback(start=0, step=1):
            cbcount['count'] = start + step

        # Without function, sleeps for ms.
        self.assertIsNone(root.after(1))

        # Set up with callback with no args.
        cbcount['count'] = 0
        timer1 = root.after(0, callback)
        self.assertIn(timer1, root.tk.call('after', 'info'))
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1))
        root.update()  # Process all pending events.
        self.assertEqual(cbcount['count'], 1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)

        # Set up with callback with args.
        cbcount['count'] = 0
        timer1 = root.after(0, callback, 42, 11)
        root.update()  # Process all pending events.
        self.assertEqual(cbcount['count'], 53)

        # Cancel before called.
        timer1 = root.after(1000, callback)
        self.assertIn(timer1, root.tk.call('after', 'info'))
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1))
        root.after_cancel(timer1)  # Cancel this event.
        self.assertEqual(cbcount['count'], 53)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)

    def test_after_idle(self):
        root = self.root
        cbcount = {'count': 0}

        def callback(start=0, step=1):
            cbcount['count'] = start + step

        # Set up with callback with no args.
        cbcount['count'] = 0
        idle1 = root.after_idle(callback)
        self.assertIn(idle1, root.tk.call('after', 'info'))
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1))
        root.update_idletasks()  # Process all pending events.
        self.assertEqual(cbcount['count'], 1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)

        # Set up with callback with args.
        cbcount['count'] = 0
        idle1 = root.after_idle(callback, 42, 11)
        root.update_idletasks()  # Process all pending events.
        self.assertEqual(cbcount['count'], 53)

        # Cancel before called.
        idle1 = root.after_idle(callback)
        self.assertIn(idle1, root.tk.call('after', 'info'))
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1))
        root.after_cancel(idle1)  # Cancel this event.
        self.assertEqual(cbcount['count'], 53)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)

    def test_after_cancel(self):
        root = self.root
        cbcount = {'count': 0}

        def callback():
            cbcount['count'] += 1

        timer1 = root.after(5000, callback)
        idle1 = root.after_idle(callback)

        # No value for id raises a ValueError.
        with self.assertRaises(ValueError):
            root.after_cancel(None)

        # Cancel timer event.
        cbcount['count'] = 0
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', timer1))
        root.tk.call(script)
        self.assertEqual(cbcount['count'], 1)
        root.after_cancel(timer1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)
        self.assertEqual(cbcount['count'], 1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call('after', 'info', timer1)

        # Cancel same event - nothing happens.
        root.after_cancel(timer1)

        # Cancel idle event.
        cbcount['count'] = 0
        (script, _) = root.tk.splitlist(root.tk.call('after', 'info', idle1))
        root.tk.call(script)
        self.assertEqual(cbcount['count'], 1)
        root.after_cancel(idle1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call(script)
        self.assertEqual(cbcount['count'], 1)
        with self.assertRaises(tkinter.TclError):
            root.tk.call('after', 'info', idle1)


tests_gui = (MiscTest, )

if __name__ == "__main__":
    run_unittest(*tests_gui)

Directory Contents

Dirs: 0 × Files: 27

Name Size Perms Modified Actions
3.97 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
4.93 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
4.93 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
39.62 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
40.21 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
40.21 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
13.04 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
15.54 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
15.54 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.42 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
1.70 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.70 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
4.15 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
3.75 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
3.75 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.43 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
1.80 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
1.80 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
8.19 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
11.15 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
11.15 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
46.13 KB lrw-r--r-- 2024-04-10 04:58:34
Edit Download
61.02 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
61.02 KB lrw-r--r-- 2024-04-10 04:58:44
Edit Download
0 B lrw-r--r-- 2024-04-10 04:58:34
Edit Download
144 B lrw-r--r-- 2024-04-10 04:58:44
Edit Download
144 B lrw-r--r-- 2024-04-10 04:58:44
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).