PHP 8.2.30
Preview: test_editmenu.py Size: 3.09 KB
//opt/alt/python27/lib64/python2.7/idlelib/idle_test/test_editmenu.py

'''Test (selected) IDLE Edit menu items.

Edit modules have their own test files files
'''
from test.test_support import requires
import Tkinter as tk
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):
        requires('gui')
        cls.root = root = tk.Tk()
        root.withdraw()
        PyShell.fix_x11_paste(root)
        cls.text = tk.Text(root)
        cls.entry = tk.Entry(root)
        cls.spin = tk.Spinbox(root)
        root.clipboard_clear()
        root.clipboard_append('two')

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

    def test_paste_text_no_selection(self):
        "Test pasting into text without a selection."
        text = self.text
        tag, ans = '', 'onetwo\n'
        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_text_selection(self):
        "Test pasting into text with a selection."
        text = self.text
        tag, ans = 'sel', 'two\n'
        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_no_selection(self):
        "Test pasting into an entry without a selection."
        # On 3.6, generated <<Paste>> fails without empty select range
        # for 'no selection'.  Live widget works fine.
        entry = self.entry
        end, ans = 0, 'onetwo'
        entry.delete(0, 'end')
        entry.insert(0, 'one')
        entry.select_range(0, end)  # see note
        entry.event_generate('<<Paste>>')
        self.assertEqual(entry.get(), ans)

    def test_paste_entry_selection(self):
        "Test pasting into an entry with a selection."
        entry = self.entry
        end, ans = 'end', 'two'
        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_no_selection(self):
        "Test pasting into a spinbox without a selection."
        # See note above for entry.
        spin = self.spin
        end, ans = 0, 'onetwo'
        spin.delete(0, 'end')
        spin.insert(0, 'one')
        spin.selection('range', 0, end)  # see note
        spin.event_generate('<<Paste>>')
        self.assertEqual(spin.get(), ans)

    def test_paste_spin_selection(self):
        "Test pasting into a spinbox with a selection."
        spin = self.spin
        end, ans = 'end', 'two'
        spin.delete(0, 'end')
        spin.insert(0, 'one')
        spin.selection('range', 0, end)
        spin.event_generate('<<Paste>>')
        self.assertEqual(spin.get(), ans)


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

Directory Contents

Dirs: 0 × Files: 79

Name Size Perms Modified Actions
13.46 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.36 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.36 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.56 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.94 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.94 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
11.30 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.42 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.42 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.36 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.81 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
5.98 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.98 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.03 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.85 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.85 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.97 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.47 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.47 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
782 B lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.68 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
1.68 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
2.41 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.08 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
4.08 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
1.26 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.33 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.33 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.09 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.46 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.46 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
14.01 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
14.36 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
14.36 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.70 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.81 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.81 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.57 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.38 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.38 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.55 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.78 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.78 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.37 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
8.28 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
8.28 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
9.28 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
11.67 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
11.67 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.73 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.53 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
5.53 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
940 B lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.50 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
1.50 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
1.58 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
1.78 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
1.78 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
5.73 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.87 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.87 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
11.22 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.81 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
12.81 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.59 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
8.20 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
8.20 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
2.74 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.60 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.60 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
2.69 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.31 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
3.31 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
4.08 KB lrw-r--r-- 2025-01-08 10:43:10
Edit Download
6.49 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
6.49 KB lrw-r--r-- 2025-01-08 10:43:09
Edit Download
650 B lrw-r--r-- 2025-01-08 10:43:10
Edit Download
941 B lrw-r--r-- 2025-01-08 10:43:10
Edit Download
941 B lrw-r--r-- 2025-01-08 10:43:10
Edit Download

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