PHP 8.2.30
Preview: test_searchdialog.py Size: 2.35 KB
/opt/alt/python35/lib64/python3.5/idlelib/idle_test/test_searchdialog.py

"""Test SearchDialog class in SearchDialogue.py"""

# Does not currently test the event handler wrappers.
# A usage test should simulate clicks and check hilighting.
# Tests need to be coordinated with SearchDialogBase tests
# to avoid duplication.

from test.support import requires
requires('gui')

import unittest
import tkinter as tk
from tkinter import BooleanVar
import idlelib.SearchEngine as se
import idlelib.SearchDialog as sd


class SearchDialogTest(unittest.TestCase):

    @classmethod
    def setUpClass(cls):
        cls.root = tk.Tk()

    @classmethod
    def tearDownClass(cls):
        cls.root.destroy()
        del cls.root

    def setUp(self):
        self.engine = se.SearchEngine(self.root)
        self.dialog = sd.SearchDialog(self.root, self.engine)
        self.text = tk.Text(self.root)
        self.text.insert('1.0', 'Hello World!')

    def test_find_again(self):
        # Search for various expressions
        text = self.text

        self.engine.setpat('')
        self.assertFalse(self.dialog.find_again(text))

        self.engine.setpat('Hello')
        self.assertTrue(self.dialog.find_again(text))

        self.engine.setpat('Goodbye')
        self.assertFalse(self.dialog.find_again(text))

        self.engine.setpat('World!')
        self.assertTrue(self.dialog.find_again(text))

        self.engine.setpat('Hello World!')
        self.assertTrue(self.dialog.find_again(text))

        # Regular expression
        self.engine.revar = BooleanVar(self.root, True)
        self.engine.setpat('W[aeiouy]r')
        self.assertTrue(self.dialog.find_again(text))

    def test_find_selection(self):
        # Select some text and make sure it's found
        text = self.text
        # Add additional line to find
        self.text.insert('2.0', 'Hello World!')

        text.tag_add('sel', '1.0', '1.4')       # Select 'Hello'
        self.assertTrue(self.dialog.find_selection(text))

        text.tag_remove('sel', '1.0', 'end')
        text.tag_add('sel', '1.6', '1.11')      # Select 'World!'
        self.assertTrue(self.dialog.find_selection(text))

        text.tag_remove('sel', '1.0', 'end')
        text.tag_add('sel', '1.0', '1.11')      # Select 'Hello World!'
        self.assertTrue(self.dialog.find_selection(text))

        # Remove additional line
        text.delete('2.0', 'end')

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

Directory Contents

Dirs: 1 × Files: 33

Name Size Perms Modified Actions
- drwxr-xr-x 2024-08-13 07:01:37
Edit Download
13.48 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
1.54 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
11.35 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
5.49 KB lrw-r--r-- 2019-11-01 23:02:34
Edit Download
4.80 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
4.02 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
6.49 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
834 B lrw-r--r-- 2024-05-31 13:51:41
Edit Download
3.48 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.34 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
1.50 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.41 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
586 B lrw-r--r-- 2024-05-31 13:51:41
Edit Download
14.00 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.61 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
1.53 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
8.88 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
5.36 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
8.17 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
3.48 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
882 B lrw-r--r-- 2024-05-31 13:51:41
Edit Download
3.96 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
8.11 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
1.58 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.35 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
5.73 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
11.25 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
6.58 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.83 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
4.19 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
2.69 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
4.10 KB lrw-r--r-- 2024-05-31 13:51:41
Edit Download
650 B lrw-r--r-- 2024-05-31 13:51:41
Edit Download

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