@@ -122,6 +122,7 @@ def refresh(self):
122122 def send_refreshes (self ):
123123 while self .refresh_requests :
124124 self .repl .process_event (self .refresh_requests .pop ())
125+ _ , _ = self .repl .paint ()
125126
126127 def enter (self , line = None ):
127128 """Enter a line of text, avoiding autocompletion windows
@@ -504,3 +505,26 @@ def test_unhighlight_paren_bugs(self):
504505 screen = fsarray ([cyan (u">>> " )+ yellow ('(' ),
505506 green (u"... " )+ yellow (')' )+ bold (cyan (" " ))])
506507 self .assert_paint (screen , (1 , 6 ))
508+
509+ def send_key (self , key ):
510+ self .repl .process_event (u'<SPACE>' if key == ' ' else key )
511+ self .repl .paint () # has some side effects we need to be wary of
512+
513+ def test_472 (self ):
514+ [self .send_key (c ) for c in "(1, 2, 3)" ]
515+ with output_to_repl (self .repl ):
516+ self .send_key ('\n ' )
517+ self .send_refreshes ()
518+ self .send_key ('<UP>' )
519+ self .repl .paint ()
520+ [self .send_key ('<LEFT>' ) for _ in range (4 )]
521+ self .send_key ('<BACKSPACE>' )
522+ self .send_key ('4' )
523+ self .repl .on_enter ()
524+ self .send_refreshes ()
525+ screen = [">>> (1, 2, 3)" ,
526+ '(1, 2, 3)' ,
527+ '>>> (1, 4, 3)' ,
528+ '(1, 4, 3)' ,
529+ '>>> ' ]
530+ self .assert_paint_ignoring_formatting (screen , (4 , 4 ))
0 commit comments