@@ -94,6 +94,33 @@ def test_count(self):
9494        self .assertEqual (text .count ('1.3' , '1.3' , 'update' , return_ints = True ), 0 )
9595        self .assertEqual (text .count ('1.3' , '1.3' , 'update' ), None )
9696
97+ class  TextSearchOptionsTest (AbstractTkTest , unittest .TestCase ):
98+     def  setUp (self ):
99+         super ().setUp ()
100+         self .text  =  tkinter .Text (self .root )
101+         self .text .pack ()
102+         self .text .insert ('1.0' ,
103+             'This is a test. This is only a test.\n ' 
104+             'Another line.\n Yet another line.' )
105+ 
106+     def  test_nolinestop (self ):
107+         result  =  self .text .search ('line' , '1.0' , 'end' , nolinestop = True , regexp = True )
108+         self .assertEqual (result , '2.8' )
109+ 
110+     def  test_all (self ):
111+         result  =  self .text .search ('test' , '1.0' , 'end' , all = True )
112+         self .assertIsInstance (result , tuple )
113+         self .assertGreaterEqual (len (result ), 2 )
114+         self .assertTrue (all (str (index ) for  index  in  result ))  # ensure valid index strings 
115+ 
116+     def  test_overlap (self ):
117+         result  =  self .text .search ('test' , '1.0' , 'end' , all = True , overlap = True )
118+         self .assertIsInstance (result , tuple )
119+         self .assertGreaterEqual (len (result ), 2 )
120+ 
121+     def  test_strictlimits (self ):
122+         result  =  self .text .search ('test' , '1.0' , '1.20' , strictlimits = True )
123+         self .assertEqual (result , '1.10' )
97124
98125if  __name__  ==  "__main__" :
99126    unittest .main ()
0 commit comments