From b738290e1c49a33c53e407e24b88ce7e50979708 Mon Sep 17 00:00:00 2001 From: ono-max Date: Wed, 18 Aug 2021 17:46:27 +0900 Subject: [PATCH 1/4] Modify the test builder so that the line numbers are displayed correctly in the generated file --- test/tool/test_builder.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/tool/test_builder.rb b/test/tool/test_builder.rb index 8e2d0fb87..5067c4d2b 100644 --- a/test/tool/test_builder.rb +++ b/test/tool/test_builder.rb @@ -153,10 +153,10 @@ def format_program first_l = " 1| #{lines[0]}\n" indent_num = 9 first_l + lines[1..].map.with_index{|l, i| - if i < 9 + if i < 8 single_digit_line_num_temp(indent_num, i, l) else - "#{' ' * (indent_num - 1)}#{i + 1}| #{l}" + "#{' ' * (indent_num - 1)}#{i + 2}| #{l}" end }.join("\n") else @@ -167,7 +167,7 @@ def format_program end def single_digit_line_num_temp(indent_num, index, line) - "#{' ' * indent_num}#{index + 1}| #{line}" + "#{' ' * indent_num}#{index + 2}| #{line}" end def content_with_module From 0f46f36e091e32b316f639a69bdea22c576d2b48 Mon Sep 17 00:00:00 2001 From: ono-max Date: Wed, 18 Aug 2021 17:46:27 +0900 Subject: [PATCH 2/4] Correct the line numbers in some tests --- test/debug/config_test.rb | 12 ++++++------ test/debug/record_test.rb | 36 ++++++++++++++++++------------------ 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/test/debug/config_test.rb b/test/debug/config_test.rb index 308d5bdd3..4815431c2 100644 --- a/test/debug/config_test.rb +++ b/test/debug/config_test.rb @@ -7,12 +7,12 @@ class SetTest < TestCase def program <<~RUBY 1| def foo - 1| bar - 2| end - 3| def bar - 4| p :bar - 5| end - 6| foo + 2| bar + 3| end + 4| def bar + 5| p :bar + 6| end + 7| foo RUBY end diff --git a/test/debug/record_test.rb b/test/debug/record_test.rb index c8cf3b75a..aefb13c9d 100644 --- a/test/debug/record_test.rb +++ b/test/debug/record_test.rb @@ -7,14 +7,14 @@ class RecordOnOffTest < TestCase def program <<~RUBY 1| - 1| p a = 1 - 2| p a += 1 - 3| binding.b do: 'record on' - 4| p a += 1 + 2| p a = 1 + 3| p a += 1 + 4| binding.b do: 'record on' 5| p a += 1 - 6| binding.b - 7| p a += 1 + 6| p a += 1 + 7| binding.b 8| p a += 1 + 9| p a += 1 RUBY end @@ -65,18 +65,18 @@ class RecordTest < TestCase def program <<~RUBY 1| - 1| def foo n - 2| n += 10 - 3| bar n + 1 - 4| end - 5| - 6| def bar n - 7| n += 100 - 8| p n - 9| end - 10| - 11| foo 10 - 12| + 2| def foo n + 3| n += 10 + 4| bar n + 1 + 5| end + 6| + 7| def bar n + 8| n += 100 + 9| p n + 10| end + 11| + 12| foo 10 + 13| RUBY end From 11c49070b1dd0fb53092ff7a40068eef4ef2d855 Mon Sep 17 00:00:00 2001 From: ono-max Date: Wed, 18 Aug 2021 18:55:11 +0900 Subject: [PATCH 3/4] Bring the same variable to the front of if block for refactoring --- test/tool/test_builder.rb | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/tool/test_builder.rb b/test/tool/test_builder.rb index 5067c4d2b..152ee3a7d 100644 --- a/test/tool/test_builder.rb +++ b/test/tool/test_builder.rb @@ -149,19 +149,18 @@ def #{@method} def format_program lines = File.read(@debuggee).split("\n") + indent_num = 8 if lines.length > 9 first_l = " 1| #{lines[0]}\n" - indent_num = 9 first_l + lines[1..].map.with_index{|l, i| if i < 8 - single_digit_line_num_temp(indent_num, i, l) + single_digit_line_num_temp(indent_num + 1, i, l) else - "#{' ' * (indent_num - 1)}#{i + 2}| #{l}" + "#{' ' * indent_num}#{i + 2}| #{l}" end }.join("\n") else first_l = "1| #{lines[0]}\n" - indent_num = 8 first_l + lines[1..].map.with_index{ |l, i| single_digit_line_num_temp(indent_num, i, l) }.join("\n") end end From 4788eb84d5b708e32a3dbfb6ad429e84909faea3 Mon Sep 17 00:00:00 2001 From: ono-max Date: Wed, 18 Aug 2021 19:16:57 +0900 Subject: [PATCH 4/4] Use the method to commonize same processing parts for refactoring --- test/tool/test_builder.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/tool/test_builder.rb b/test/tool/test_builder.rb index 152ee3a7d..8f6067ccd 100644 --- a/test/tool/test_builder.rb +++ b/test/tool/test_builder.rb @@ -154,18 +154,18 @@ def format_program first_l = " 1| #{lines[0]}\n" first_l + lines[1..].map.with_index{|l, i| if i < 8 - single_digit_line_num_temp(indent_num + 1, i, l) + line_num_temp(indent_num + 1, i, l) else - "#{' ' * indent_num}#{i + 2}| #{l}" + line_num_temp(indent_num, i, l) end }.join("\n") else first_l = "1| #{lines[0]}\n" - first_l + lines[1..].map.with_index{ |l, i| single_digit_line_num_temp(indent_num, i, l) }.join("\n") + first_l + lines[1..].map.with_index{ |l, i| line_num_temp(indent_num, i, l) }.join("\n") end end - def single_digit_line_num_temp(indent_num, index, line) + def line_num_temp(indent_num, index, line) "#{' ' * indent_num}#{index + 2}| #{line}" end