File tree Expand file tree Collapse file tree 2 files changed +87
-3
lines changed
Expand file tree Collapse file tree 2 files changed +87
-3
lines changed Original file line number Diff line number Diff line change @@ -831,8 +831,9 @@ def wait_next_action_
831831
832832 case step_type
833833 when :in
834+ iter = iter || 1
834835 if @recorder &.replaying?
835- @recorder . step_forward
836+ @recorder . step_forward iter
836837 raise SuspendReplay
837838 else
838839 step_tp iter do
@@ -1191,8 +1192,11 @@ def step_back
11911192 @index += 1
11921193 end
11931194
1194- def step_forward
1195- @index -= 1
1195+ def step_forward iter
1196+ @index -= iter
1197+ if @index < 0
1198+ @index = 0
1199+ end
11961200 end
11971201
11981202 def step_reset
Original file line number Diff line number Diff line change @@ -167,4 +167,84 @@ def test_1656237686
167167 end
168168 end
169169 end
170+
171+ class StepIntoWithNumWhileReplayTest < ConsoleTestCase
172+ def program
173+ <<~RUBY
174+ 1| def a
175+ 2| return b()
176+ 3| end
177+ 4|
178+ 5| def b
179+ 6| return 1
180+ 7| end
181+ 8|
182+ 9| a()
183+ 10| a()
184+ 11| a()
185+ 12| a()
186+ 13| a()
187+ 14| a()
188+ RUBY
189+ end
190+
191+ def test_1663647719
192+ debug_code ( program ) do
193+ type 'record on'
194+ type 'b 11'
195+ type 'c'
196+ assert_line_num 11
197+ type 'step back'
198+ assert_line_num 11
199+ type 'step back'
200+ assert_line_num 6
201+ type 'step back'
202+ assert_line_num 2
203+ type 'step back'
204+ assert_line_num 10
205+ type 'step 2'
206+ assert_line_num 6
207+ type 'step 2'
208+ assert_line_num 11
209+ type 'q!'
210+ end
211+ end
212+ end
213+
214+ class StepIntoWhenNumberIsLargetThanLogIndex < ConsoleTestCase
215+ def program
216+ <<~RUBY
217+ 1| def a
218+ 2| return b()
219+ 3| end
220+ 4|
221+ 5| def b
222+ 6| return 1
223+ 7| end
224+ 8|
225+ 9| a()
226+ 10| a()
227+ 11| a()
228+ 12| a()
229+ 13| a()
230+ 14| a()
231+ RUBY
232+ end
233+
234+ def test_1663647719
235+ debug_code ( program ) do
236+ type 'record on'
237+ type 'b 11'
238+ type 'c'
239+ assert_line_num 11
240+ type 'step back'
241+ assert_line_num 11
242+ type 'step back'
243+ assert_line_num 6
244+ type 'step 100'
245+ assert_line_num 11
246+ type 'q!'
247+ end
248+ end
249+ end
170250end
You can’t perform that action at this time.
0 commit comments