@@ -238,64 +238,5 @@ def test_rclick(self):
238238 pass
239239
240240
241- class DeleteWantTest (unittest .TestCase ):
242-
243- data = [
244- ("abcde" + 10000 * "\t " + 10000 * " " , [
245- (30000 , 4 , "abcde" + 7499 * "\t " ),
246- (41005 , 4 , "abcde" + 10000 * "\t " + 1001 * " " ),
247- (3 , 4 , "abcde" ),
248- (6 , 4 , "abcde" ),
249- (30002 , 4 , "abcde" + 7499 * "\t " ),
250- ]),
251- ("abcde\t abd\t \t " , [
252- (7 , 4 , "abcde\t abd" ),
253- (12 , 4 , "abcde\t abd\t " ),
254- (13 , 4 , "abcde\t abd\t " ),
255- (16 , 4 , "abcde\t abd\t " ),
256- ]),
257- ("abcde\t abd\t \t a" , [
258- (7 , 4 , "abcde\t abd" ),
259- (12 , 4 , "abcde\t abd\t " ),
260- (13 , 4 , "abcde\t abd\t " ),
261- (16 , 4 , "abcde\t abd\t \t " ),
262- ]),
263- (" " , [
264- (2 , 2 , " " ),
265- ]),
266- ]
267-
268- def mock_delete_trail_char_and_space (self , want , chars , tabwidth ):
269- ncharsdeleted = 0
270- while True :
271- chars = chars [:- 1 ]
272- ncharsdeleted = ncharsdeleted + 1
273- have = len (chars .expandtabs (tabwidth ))
274- if have <= want or chars [- 1 ] not in " \t " :
275- break
276- return chars
277-
278- def do_tests (self ):
279- ew = Editor ()
280- for dat in self .data :
281- test_str = dat [0 ]
282- for da in dat [1 ]:
283- with self .subTest (want = da [0 ], tabwidth = da [1 ], input = test_str ):
284- res = ew .delete_trail_char_and_space (da [0 ], test_str , da [1 ])
285- self .assertEqual (res , da [2 ])
286-
287- def test_delete_trail_char_and_space (self ):
288- with unittest .mock .patch .object (Editor , '__init__' , return_value = None ):
289- initial_time_new = time .time ()
290- self .do_tests ()
291- time_new = time .time () - initial_time_new
292-
293- with unittest .mock .patch .object (Editor , 'delete_trail_char_and_space' , self .mock_delete_trail_char_and_space ):
294- initial_time_old = time .time ()
295- self .do_tests ()
296- time_old = time .time () - initial_time_old
297-
298- self .assertGreaterEqual (time_old / time_new , 10 )
299-
300241if __name__ == '__main__' :
301242 unittest .main (verbosity = 2 )
0 commit comments