404

[ Avaa Bypassed ]




Upload:

Command:

elspacio@3.145.105.116: ~ $
'''Test (selected) IDLE Edit menu items.

Edit modules have their own test files
'''
from test.support import requires
requires('gui')
import tkinter as tk
from tkinter import ttk
import unittest
from idlelib import pyshell

class PasteTest(unittest.TestCase):
    '''Test pasting into widgets that allow pasting.

    On X11, replacing selections requires tk fix.
    '''
    @classmethod
    def setUpClass(cls):
        cls.root = root = tk.Tk()
        cls.root.withdraw()
        pyshell.fix_x11_paste(root)
        cls.text = tk.Text(root)
        cls.entry = tk.Entry(root)
        cls.tentry = ttk.Entry(root)
        cls.spin = tk.Spinbox(root)
        root.clipboard_clear()
        root.clipboard_append('two')

    @classmethod
    def tearDownClass(cls):
        del cls.text, cls.entry, cls.tentry
        cls.root.clipboard_clear()
        cls.root.update_idletasks()
        cls.root.destroy()
        del cls.root

    def test_paste_text(self):
        "Test pasting into text with and without a selection."
        text = self.text
        for tag, ans in ('', 'onetwo\n'), ('sel', 'two\n'):
            with self.subTest(tag=tag, ans=ans):
                text.delete('1.0', 'end')
                text.insert('1.0', 'one', tag)
                text.event_generate('<<Paste>>')
                self.assertEqual(text.get('1.0', 'end'), ans)

    def test_paste_entry(self):
        "Test pasting into an entry with and without a selection."
        # Generated <<Paste>> fails for tk entry without empty select
        # range for 'no selection'.  Live widget works fine.
        for entry in self.entry, self.tentry:
            for end, ans in (0, 'onetwo'), ('end', 'two'):
                with self.subTest(entry=entry, end=end, ans=ans):
                    entry.delete(0, 'end')
                    entry.insert(0, 'one')
                    entry.select_range(0, end)
                    entry.event_generate('<<Paste>>')
                    self.assertEqual(entry.get(), ans)

    def test_paste_spin(self):
        "Test pasting into a spinbox with and without a selection."
        # See note above for entry.
        spin = self.spin
        for end, ans in (0, 'onetwo'), ('end', 'two'):
            with self.subTest(end=end, ans=ans):
                spin.delete(0, 'end')
                spin.insert(0, 'one')
                spin.selection('range', 0, end)  # see note
                spin.event_generate('<<Paste>>')
                self.assertEqual(spin.get(), ans)


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

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
README.txt File 8.52 KB 0644
__init__.py File 712 B 0644
htest.py File 13.67 KB 0644
mock_idle.py File 1.83 KB 0644
mock_tk.py File 11.35 KB 0644
template.py File 642 B 0644
test_autocomplete.py File 4.99 KB 0644
test_autocomplete_w.py File 709 B 0644
test_autoexpand.py File 4.53 KB 0644
test_browser.py File 7.8 KB 0644
test_calltip.py File 7.6 KB 0644
test_calltip_w.py File 686 B 0644
test_codecontext.py File 14.15 KB 0644
test_colorizer.py File 1.03 KB 0644
test_config.py File 32.04 KB 0644
test_config_key.py File 3.61 KB 0644
test_configdialog.py File 48.6 KB 0644
test_debugger.py File 571 B 0644
test_debugger_r.py File 631 B 0644
test_debugobj.py File 1.52 KB 0644
test_debugobj_r.py File 545 B 0644
test_delegator.py File 1.53 KB 0644
test_editmenu.py File 2.5 KB 0644
test_editor.py File 1.11 KB 0644
test_filelist.py File 795 B 0644
test_grep.py File 2.6 KB 0644
test_help.py File 849 B 0644
test_help_about.py File 5.68 KB 0644
test_history.py File 5.39 KB 0644
test_hyperparser.py File 8.87 KB 0644
test_iomenu.py File 870 B 0644
test_macosx.py File 3.23 KB 0644
test_mainmenu.py File 594 B 0644
test_multicall.py File 1.02 KB 0644
test_outwin.py File 5.42 KB 0644
test_paragraph.py File 14.02 KB 0644
test_parenmatch.py File 3.43 KB 0644
test_pathbrowser.py File 2.37 KB 0644
test_percolator.py File 3.97 KB 0644
test_pyparse.py File 18.15 KB 0644
test_pyshell.py File 1.28 KB 0644
test_query.py File 11.49 KB 0644
test_redirector.py File 4.08 KB 0644
test_replace.py File 8.11 KB 0644
test_rpc.py File 805 B 0644
test_rstrip.py File 1.57 KB 0644
test_run.py File 9.19 KB 0644
test_runscript.py File 777 B 0644
test_scrolledlist.py File 496 B 0644
test_search.py File 2.4 KB 0644
test_searchbase.py File 5.35 KB 0644
test_searchengine.py File 11.27 KB 0644
test_squeezer.py File 21.35 KB 0644
test_stackviewer.py File 1.18 KB 0644
test_statusbar.py File 1.11 KB 0644
test_text.py File 6.81 KB 0644
test_textview.py File 5.5 KB 0644
test_tooltip.py File 5.01 KB 0644
test_tree.py File 792 B 0644
test_undo.py File 4.13 KB 0644
test_warning.py File 2.68 KB 0644
test_window.py File 1.05 KB 0644
test_zoomheight.py File 999 B 0644