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

Method test_search_all

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

Source from the content-addressed store, hash-verified

85 # TODO: Add test for elide=True
86
87 def test_search_all(self):
88 text = self.text
89
90 # pattern and index are obligatory arguments.
91 self.assertRaises(tkinter.TclError, text.search_all, None, '1.0')
92 self.assertRaises(tkinter.TclError, text.search_all, 'a', None)
93 self.assertRaises(tkinter.TclError, text.search_all, None, None)
94
95 # Keyword-only arguments
96 self.assertRaises(TypeError, text.search_all, 'a', '1.0', 'end', None)
97
98 # Invalid text index.
99 self.assertRaises(tkinter.TclError, text.search_all, '', 0)
100 self.assertRaises(tkinter.TclError, text.search_all, '', '')
101 self.assertRaises(tkinter.TclError, text.search_all, '', 'invalid')
102 self.assertRaises(tkinter.TclError, text.search_all, '', '1.0', 0)
103 self.assertRaises(tkinter.TclError, text.search_all, '', '1.0', '')
104 self.assertRaises(tkinter.TclError, text.search_all, '', '1.0', 'invalid')
105
106 def eq(res, expected):
107 self.assertIsInstance(res, tuple)
108 self.assertEqual([str(i) for i in res], expected)
109
110 text.insert('1.0', 'ababa\naba\n64-bit')
111
112 eq(text.search_all('aba', '1.0'), ['1.0', '2.0'])
113 eq(text.search_all('aba', '1.0', 'end'), ['1.0', '2.0'])
114 eq(text.search_all('aba', '1.1', 'end'), ['1.2', '2.0'])
115 eq(text.search_all('aba', '1.1'), ['1.2', '2.0', '1.0'])
116
117 res = text.search_all('', '1.0') # empty pattern
118 eq(res[:5], ['1.0', '1.1', '1.2', '1.3', '1.4'])
119 eq(res[-5:], ['3.2', '3.3', '3.4', '3.5', '3.6'])
120 eq(text.search_all('nonexistent', '1.0'), [])
121 eq(text.search_all('-bit', '1.0'), ['3.2']) # starts with a hyphen
122
123 eq(text.search_all('aba', '1.0', 'end', forwards=True), ['1.0', '2.0'])
124 eq(text.search_all('aba', 'end', '1.0', backwards=True), ['2.0', '1.2'])
125
126 eq(text.search_all('aba', '1.0', overlap=True), ['1.0', '1.2', '2.0'])
127 eq(text.search_all('aba', 'end', '1.0', overlap=True, backwards=True), ['2.0', '1.2', '1.0'])
128
129 eq(text.search_all('aba', '1.0', exact=True), ['1.0', '2.0'])
130 eq(text.search_all('a.a', '1.0', exact=True), [])
131 eq(text.search_all('a.a', '1.0', regexp=True), ['1.0', '2.0'])
132
133 eq(text.search_all('ABA', '1.0'), [])
134 eq(text.search_all('ABA', '1.0', nocase=True), ['1.0', '2.0'])
135
136 eq(text.search_all('a.a', '1.0', regexp=True), ['1.0', '2.0'])
137 eq(text.search_all('a.a', '1.0', regexp=True, nolinestop=True), ['1.0', '1.4'])
138
139 eq(text.search_all('aba', '1.0', '2.2'), ['1.0', '2.0'])
140 eq(text.search_all('aba', '1.0', '2.2', strictlimits=True), ['1.0'])
141 eq(text.search_all('aba', '1.0', '2.3', strictlimits=True), ['1.0', '2.0'])
142
143 var = tkinter.Variable(self.root)
144 eq(text.search_all('aba', '1.0', count=var), ['1.0', '2.0'])

Callers

nothing calls this directly

Calls 6

getMethod · 0.95
eqFunction · 0.85
search_allMethod · 0.80
assertRaisesMethod · 0.45
insertMethod · 0.45
assertEqualMethod · 0.45

Tested by

no test coverage detected