GRAYBYTE WORDPRESS FILE MANAGER3128

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/python36/lib64/python3.6/idlelib/idle_test/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/python36/lib64/python3.6/idlelib/idle_test//test_tooltip.py
from idlelib.tooltip import TooltipBase, Hovertip
from test.support import requires
requires('gui')

from functools import wraps
import time
from tkinter import Button, Tk, Toplevel
import unittest


def setUpModule():
    global root
    root = Tk()

def root_update():
    global root
    root.update()

def tearDownModule():
    global root
    root.update_idletasks()
    root.destroy()
    del root

def add_call_counting(func):
    @wraps(func)
    def wrapped_func(*args, **kwargs):
        wrapped_func.call_args_list.append((args, kwargs))
        return func(*args, **kwargs)
    wrapped_func.call_args_list = []
    return wrapped_func


def _make_top_and_button(testobj):
    global root
    top = Toplevel(root)
    testobj.addCleanup(top.destroy)
    top.title("Test tooltip")
    button = Button(top, text='ToolTip test button')
    button.pack()
    testobj.addCleanup(button.destroy)
    top.lift()
    return top, button


class ToolTipBaseTest(unittest.TestCase):
    def setUp(self):
        self.top, self.button = _make_top_and_button(self)

    def test_base_class_is_unusable(self):
        global root
        top = Toplevel(root)
        self.addCleanup(top.destroy)

        button = Button(top, text='ToolTip test button')
        button.pack()
        self.addCleanup(button.destroy)

        with self.assertRaises(NotImplementedError):
            tooltip = TooltipBase(button)
            tooltip.showtip()


class HovertipTest(unittest.TestCase):
    def setUp(self):
        self.top, self.button = _make_top_and_button(self)

    def test_showtip(self):
        tooltip = Hovertip(self.button, 'ToolTip text')
        self.addCleanup(tooltip.hidetip)
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        tooltip.showtip()
        self.assertTrue(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())

    def test_showtip_twice(self):
        tooltip = Hovertip(self.button, 'ToolTip text')
        self.addCleanup(tooltip.hidetip)
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        tooltip.showtip()
        self.assertTrue(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        orig_tipwindow = tooltip.tipwindow
        tooltip.showtip()
        self.assertTrue(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.assertIs(tooltip.tipwindow, orig_tipwindow)

    def test_hidetip(self):
        tooltip = Hovertip(self.button, 'ToolTip text')
        self.addCleanup(tooltip.hidetip)
        tooltip.showtip()
        tooltip.hidetip()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())

    def test_showtip_on_mouse_enter_no_delay(self):
        tooltip = Hovertip(self.button, 'ToolTip text', hover_delay=None)
        self.addCleanup(tooltip.hidetip)
        tooltip.showtip = add_call_counting(tooltip.showtip)
        root_update()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.button.event_generate('<Enter>', x=0, y=0)
        root_update()
        self.assertTrue(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.assertGreater(len(tooltip.showtip.call_args_list), 0)

    def test_showtip_on_mouse_enter_hover_delay(self):
        tooltip = Hovertip(self.button, 'ToolTip text', hover_delay=50)
        self.addCleanup(tooltip.hidetip)
        tooltip.showtip = add_call_counting(tooltip.showtip)
        root_update()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.button.event_generate('<Enter>', x=0, y=0)
        root_update()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        time.sleep(0.1)
        root_update()
        self.assertTrue(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.assertGreater(len(tooltip.showtip.call_args_list), 0)

    def test_hidetip_on_mouse_leave(self):
        tooltip = Hovertip(self.button, 'ToolTip text', hover_delay=None)
        self.addCleanup(tooltip.hidetip)
        tooltip.showtip = add_call_counting(tooltip.showtip)
        root_update()
        self.button.event_generate('<Enter>', x=0, y=0)
        root_update()
        self.button.event_generate('<Leave>', x=0, y=0)
        root_update()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.assertGreater(len(tooltip.showtip.call_args_list), 0)

    def test_dont_show_on_mouse_leave_before_delay(self):
        tooltip = Hovertip(self.button, 'ToolTip text', hover_delay=50)
        self.addCleanup(tooltip.hidetip)
        tooltip.showtip = add_call_counting(tooltip.showtip)
        root_update()
        self.button.event_generate('<Enter>', x=0, y=0)
        root_update()
        self.button.event_generate('<Leave>', x=0, y=0)
        root_update()
        time.sleep(0.1)
        root_update()
        self.assertFalse(tooltip.tipwindow and tooltip.tipwindow.winfo_viewable())
        self.assertEqual(tooltip.showtip.call_args_list, [])


if __name__ == '__main__':
    unittest.main(verbosity=2)

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
May 20 2024 08:31:55
root / linksafe
0755
__pycache__
--
May 20 2024 08:31:55
root / linksafe
0755
README.txt
8.524 KB
September 04 2021 03:49:41
root / linksafe
0644
__init__.py
0.695 KB
April 17 2024 17:19:35
root / linksafe
0644
htest.py
13.669 KB
April 17 2024 17:19:35
root / linksafe
0644
mock_idle.py
1.826 KB
April 17 2024 17:19:35
root / linksafe
0644
mock_tk.py
11.354 KB
April 17 2024 17:19:35
root / linksafe
0644
template.py
0.627 KB
April 17 2024 17:19:35
root / linksafe
0644
test_autocomplete.py
4.987 KB
April 17 2024 17:19:35
root / linksafe
0644
test_autocomplete_w.py
0.692 KB
April 17 2024 17:19:35
root / linksafe
0644
test_autoexpand.py
4.531 KB
April 17 2024 17:19:35
root / linksafe
0644
test_browser.py
7.799 KB
April 17 2024 17:19:35
root / linksafe
0644
test_calltip.py
7.603 KB
April 17 2024 17:19:35
root / linksafe
0644
test_calltip_w.py
0.67 KB
April 17 2024 17:19:35
root / linksafe
0644
test_codecontext.py
14.154 KB
April 17 2024 17:19:35
root / linksafe
0644
test_colorizer.py
1.033 KB
April 17 2024 17:19:35
root / linksafe
0644
test_config.py
32.036 KB
April 17 2024 17:19:35
root / linksafe
0644
test_config_key.py
3.613 KB
April 17 2024 17:19:35
root / linksafe
0644
test_configdialog.py
48.601 KB
April 17 2024 17:19:35
root / linksafe
0644
test_debugger.py
0.558 KB
April 17 2024 17:19:35
root / linksafe
0644
test_debugger_r.py
0.616 KB
April 17 2024 17:19:35
root / linksafe
0644
test_debugobj.py
1.524 KB
April 17 2024 17:19:35
root / linksafe
0644
test_debugobj_r.py
0.532 KB
April 17 2024 17:19:35
root / linksafe
0644
test_delegator.py
1.53 KB
April 17 2024 17:19:35
root / linksafe
0644
test_editmenu.py
2.504 KB
April 17 2024 17:19:35
root / linksafe
0644
test_editor.py
1.114 KB
April 17 2024 17:19:35
root / linksafe
0644
test_filelist.py
0.776 KB
April 17 2024 17:19:35
root / linksafe
0644
test_grep.py
2.598 KB
April 17 2024 17:19:35
root / linksafe
0644
test_help.py
0.829 KB
April 17 2024 17:19:35
root / linksafe
0644
test_help_about.py
5.685 KB
April 17 2024 17:19:35
root / linksafe
0644
test_history.py
5.388 KB
April 17 2024 17:19:35
root / linksafe
0644
test_hyperparser.py
8.867 KB
April 17 2024 17:19:35
root / linksafe
0644
test_iomenu.py
0.85 KB
April 17 2024 17:19:35
root / linksafe
0644
test_macosx.py
3.231 KB
April 17 2024 17:19:35
root / linksafe
0644
test_mainmenu.py
0.58 KB
April 17 2024 17:19:35
root / linksafe
0644
test_multicall.py
1.018 KB
April 17 2024 17:19:35
root / linksafe
0644
test_outwin.py
5.415 KB
April 17 2024 17:19:35
root / linksafe
0644
test_paragraph.py
14.016 KB
April 17 2024 17:19:35
root / linksafe
0644
test_parenmatch.py
3.43 KB
April 17 2024 17:19:35
root / linksafe
0644
test_pathbrowser.py
2.365 KB
April 17 2024 17:19:35
root / linksafe
0644
test_percolator.py
3.97 KB
April 17 2024 17:19:35
root / linksafe
0644
test_pyparse.py
18.152 KB
April 17 2024 17:19:35
root / linksafe
0644
test_pyshell.py
1.276 KB
April 17 2024 17:19:35
root / linksafe
0644
test_query.py
11.492 KB
April 17 2024 17:19:35
root / linksafe
0644
test_redirector.py
4.078 KB
April 17 2024 17:19:35
root / linksafe
0644
test_replace.py
8.11 KB
April 17 2024 17:19:35
root / linksafe
0644
test_rpc.py
0.786 KB
April 17 2024 17:19:35
root / linksafe
0644
test_rstrip.py
1.567 KB
April 17 2024 17:19:35
root / linksafe
0644
test_run.py
9.193 KB
April 17 2024 17:19:35
root / linksafe
0644
test_runscript.py
0.759 KB
April 17 2024 17:19:35
root / linksafe
0644
test_scrolledlist.py
0.484 KB
April 17 2024 17:19:35
root / linksafe
0644
test_search.py
2.401 KB
April 17 2024 17:19:35
root / linksafe
0644
test_searchbase.py
5.351 KB
April 17 2024 17:19:35
root / linksafe
0644
test_searchengine.py
11.272 KB
April 17 2024 17:19:35
root / linksafe
0644
test_squeezer.py
21.349 KB
April 17 2024 17:19:35
root / linksafe
0644
test_stackviewer.py
1.178 KB
April 17 2024 17:19:35
root / linksafe
0644
test_statusbar.py
1.106 KB
April 17 2024 17:19:35
root / linksafe
0644
test_text.py
6.814 KB
April 17 2024 17:19:35
root / linksafe
0644
test_textview.py
5.502 KB
April 17 2024 17:19:35
root / linksafe
0644
test_tooltip.py
5.01 KB
April 17 2024 17:19:35
root / linksafe
0644
test_tree.py
0.773 KB
April 17 2024 17:19:35
root / linksafe
0644
test_undo.py
4.129 KB
April 17 2024 17:19:35
root / linksafe
0644
test_warning.py
2.676 KB
April 17 2024 17:19:35
root / linksafe
0644
test_window.py
1.05 KB
April 17 2024 17:19:35
root / linksafe
0644
test_zoomheight.py
0.976 KB
April 17 2024 17:19:35
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF