[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: test_autocomplete.py
File is not writable. Editing disabled.
import unittest from test.support import requires from tkinter import Tk, Text import idlelib.AutoComplete as ac import idlelib.AutoCompleteWindow as acw import idlelib.macosxSupport as mac from idlelib.idle_test.mock_idle import Func from idlelib.idle_test.mock_tk import Event class AutoCompleteWindow: def complete(): return class DummyEditwin: def __init__(self, root, text): self.root = root self.text = text self.indentwidth = 8 self.tabwidth = 8 self.context_use_ps1 = True class AutoCompleteTest(unittest.TestCase): @classmethod def setUpClass(cls): requires('gui') cls.root = Tk() mac.setupApp(cls.root, None) cls.text = Text(cls.root) cls.editor = DummyEditwin(cls.root, cls.text) @classmethod def tearDownClass(cls): cls.root.destroy() del cls.text del cls.editor del cls.root def setUp(self): self.editor.text.delete('1.0', 'end') self.autocomplete = ac.AutoComplete(self.editor) def test_init(self): self.assertEqual(self.autocomplete.editwin, self.editor) def test_make_autocomplete_window(self): testwin = self.autocomplete._make_autocomplete_window() self.assertIsInstance(testwin, acw.AutoCompleteWindow) def test_remove_autocomplete_window(self): self.autocomplete.autocompletewindow = ( self.autocomplete._make_autocomplete_window()) self.autocomplete._remove_autocomplete_window() self.assertIsNone(self.autocomplete.autocompletewindow) def test_force_open_completions_event(self): # Test that force_open_completions_event calls _open_completions o_cs = Func() self.autocomplete.open_completions = o_cs self.autocomplete.force_open_completions_event('event') self.assertEqual(o_cs.args, (True, False, True)) def test_try_open_completions_event(self): Equal = self.assertEqual autocomplete = self.autocomplete trycompletions = self.autocomplete.try_open_completions_event o_c_l = Func() autocomplete._open_completions_later = o_c_l # _open_completions_later should not be called with no text in editor trycompletions('event') Equal(o_c_l.args, None) # _open_completions_later should be called with COMPLETE_ATTRIBUTES (1) self.text.insert('1.0', 're.') trycompletions('event') Equal(o_c_l.args, (False, False, False, 1)) # _open_completions_later should be called with COMPLETE_FILES (2) self.text.delete('1.0', 'end') self.text.insert('1.0', '"./Lib/') trycompletions('event') Equal(o_c_l.args, (False, False, False, 2)) def test_autocomplete_event(self): Equal = self.assertEqual autocomplete = self.autocomplete # Test that the autocomplete event is ignored if user is pressing a # modifier key in addition to the tab key ev = Event(mc_state=True) self.assertIsNone(autocomplete.autocomplete_event(ev)) del ev.mc_state # If autocomplete window is open, complete() method is called self.text.insert('1.0', 're.') # This must call autocomplete._make_autocomplete_window() Equal(self.autocomplete.autocomplete_event(ev), 'break') # If autocomplete window is not active or does not exist, # open_completions is called. Return depends on its return. autocomplete._remove_autocomplete_window() o_cs = Func() # .result = None autocomplete.open_completions = o_cs Equal(self.autocomplete.autocomplete_event(ev), None) Equal(o_cs.args, (False, True, True)) o_cs.result = True Equal(self.autocomplete.autocomplete_event(ev), 'break') Equal(o_cs.args, (False, True, True)) def test_open_completions_later(self): # Test that autocomplete._delayed_completion_id is set pass def test_delayed_open_completions(self): # Test that autocomplete._delayed_completion_id set to None and that # open_completions only called if insertion index is the same as # _delayed_completion_index pass def test_open_completions(self): # Test completions of files and attributes as well as non-completion # of errors pass def test_fetch_completions(self): # Test that fetch_completions returns 2 lists: # For attribute completion, a large list containing all variables, and # a small list containing non-private variables. # For file completion, a large list containing all files in the path, # and a small list containing files that do not start with '.' pass def test_get_entity(self): # Test that a name is in the namespace of sys.modules and # __main__.__dict__ pass if __name__ == '__main__': unittest.main(verbosity=2)
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium707.web-hosting.com
Server IP: 198.177.120.115
PHP Version: 8.1.34
Server Software: LiteSpeed
System: Linux premium707.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.31 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: urbaoubp
User ID (UID): 1252
Group ID (GID): 1257
Script Owner UID: 1252
Current Dir Owner: N/A