MCPcopy Index your code
hub / github.com/python/cpython / test_search

Method test_search

Lib/test/test_tkinter/test_text.py:28–85  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

26 self.assertEqual(text.debug(), olddebug)
27
28 def test_search(self):
29 text = self.text
30
31 # pattern and index are obligatory arguments.
32 self.assertRaises(tkinter.TclError, text.search, None, '1.0')
33 self.assertRaises(tkinter.TclError, text.search, 'a', None)
34 self.assertRaises(tkinter.TclError, text.search, None, None)
35
36 # Invalid text index.
37 self.assertRaises(tkinter.TclError, text.search, '', 0)
38 self.assertRaises(tkinter.TclError, text.search, '', '')
39 self.assertRaises(tkinter.TclError, text.search, '', 'invalid')
40 self.assertRaises(tkinter.TclError, text.search, '', '1.0', 0)
41 self.assertRaises(tkinter.TclError, text.search, '', '1.0', '')
42 self.assertRaises(tkinter.TclError, text.search, '', '1.0', 'invalid')
43
44 text.insert('1.0',
45 'This is a test. This is only a test.\n'
46 'Another line.\n'
47 'Yet another line.\n'
48 '64-bit')
49
50 self.assertEqual(text.search('test', '1.0'), '1.10')
51 self.assertEqual(text.search('test', '1.0', 'end'), '1.10')
52 self.assertEqual(text.search('test', '1.0', '1.10'), '')
53 self.assertEqual(text.search('test', '1.11'), '1.31')
54 self.assertEqual(text.search('test', '1.32', 'end'), '')
55 self.assertEqual(text.search('test', '1.32'), '1.10')
56
57 self.assertEqual(text.search('', '1.0'), '1.0') # empty pattern
58 self.assertEqual(text.search('nonexistent', '1.0'), '')
59 self.assertEqual(text.search('-bit', '1.0'), '4.2') # starts with a hyphen
60
61 self.assertEqual(text.search('line', '3.0'), '3.12')
62 self.assertEqual(text.search('line', '3.0', forwards=True), '3.12')
63 self.assertEqual(text.search('line', '3.0', backwards=True), '2.8')
64 self.assertEqual(text.search('line', '3.0', forwards=True, backwards=True), '2.8')
65
66 self.assertEqual(text.search('t.', '1.0'), '1.13')
67 self.assertEqual(text.search('t.', '1.0', exact=True), '1.13')
68 self.assertEqual(text.search('t.', '1.0', regexp=True), '1.10')
69 self.assertEqual(text.search('t.', '1.0', exact=True, regexp=True), '1.10')
70
71 self.assertEqual(text.search('TEST', '1.0'), '')
72 self.assertEqual(text.search('TEST', '1.0', nocase=True), '1.10')
73
74 self.assertEqual(text.search('.*line', '1.0', regexp=True), '2.0')
75 self.assertEqual(text.search('.*line', '1.0', regexp=True, nolinestop=True), '1.0')
76
77 self.assertEqual(text.search('test', '1.0', '1.13'), '1.10')
78 self.assertEqual(text.search('test', '1.0', '1.13', strictlimits=True), '')
79 self.assertEqual(text.search('test', '1.0', '1.14', strictlimits=True), '1.10')
80
81 var = tkinter.Variable(self.root)
82 self.assertEqual(text.search('test', '1.0', count=var), '1.10')
83 self.assertEqual(var.get(), 4 if self.wantobjects else '4')
84
85 # TODO: Add test for elide=True

Callers

nothing calls this directly

Calls 5

getMethod · 0.95
assertRaisesMethod · 0.45
insertMethod · 0.45
assertEqualMethod · 0.45
searchMethod · 0.45

Tested by

no test coverage detected