byebug 3.1.2 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +4 -2
  3. data/CHANGELOG.md +15 -0
  4. data/GUIDE.md +17 -35
  5. data/Gemfile +8 -5
  6. data/LICENSE +1 -1
  7. data/README.md +10 -22
  8. data/Rakefile +1 -1
  9. data/ext/byebug/byebug.c +3 -2
  10. data/lib/byebug.rb +3 -38
  11. data/lib/byebug/commands/break.rb +83 -0
  12. data/lib/byebug/commands/catchpoint.rb +0 -1
  13. data/lib/byebug/commands/condition.rb +10 -6
  14. data/lib/byebug/commands/continue.rb +3 -6
  15. data/lib/byebug/commands/delete.rb +38 -0
  16. data/lib/byebug/commands/edit.rb +0 -2
  17. data/lib/byebug/commands/enable.rb +7 -8
  18. data/lib/byebug/commands/finish.rb +0 -2
  19. data/lib/byebug/commands/frame.rb +13 -15
  20. data/lib/byebug/commands/help.rb +1 -3
  21. data/lib/byebug/commands/history.rb +3 -3
  22. data/lib/byebug/commands/info.rb +4 -13
  23. data/lib/byebug/commands/interrupt.rb +25 -0
  24. data/lib/byebug/commands/kill.rb +0 -2
  25. data/lib/byebug/commands/list.rb +2 -4
  26. data/lib/byebug/commands/method.rb +2 -8
  27. data/lib/byebug/commands/quit.rb +0 -2
  28. data/lib/byebug/commands/reload.rb +2 -15
  29. data/lib/byebug/commands/repl.rb +0 -3
  30. data/lib/byebug/commands/{control.rb → restart.rb} +2 -26
  31. data/lib/byebug/commands/save.rb +0 -1
  32. data/lib/byebug/commands/set.rb +4 -7
  33. data/lib/byebug/commands/show.rb +0 -3
  34. data/lib/byebug/commands/source.rb +0 -3
  35. data/lib/byebug/commands/stepping.rb +3 -4
  36. data/lib/byebug/commands/trace.rb +0 -1
  37. data/lib/byebug/commands/variables.rb +3 -4
  38. data/lib/byebug/context.rb +0 -1
  39. data/lib/byebug/helper.rb +23 -0
  40. data/lib/byebug/interfaces/script_interface.rb +1 -1
  41. data/lib/byebug/processors/command_processor.rb +9 -9
  42. data/lib/byebug/remote.rb +2 -2
  43. data/lib/byebug/setting.rb +3 -1
  44. data/lib/byebug/settings/autoeval.rb +3 -1
  45. data/lib/byebug/settings/autoirb.rb +3 -1
  46. data/lib/byebug/settings/autolist.rb +3 -1
  47. data/lib/byebug/settings/autoreload.rb +1 -3
  48. data/lib/byebug/settings/autosave.rb +1 -3
  49. data/lib/byebug/settings/callstyle.rb +2 -4
  50. data/lib/byebug/settings/fullpath.rb +1 -3
  51. data/lib/byebug/settings/histfile.rb +1 -3
  52. data/lib/byebug/settings/histsize.rb +0 -4
  53. data/lib/byebug/settings/listsize.rb +1 -3
  54. data/lib/byebug/settings/post_mortem.rb +14 -1
  55. data/lib/byebug/settings/width.rb +1 -17
  56. data/lib/byebug/version.rb +1 -1
  57. data/test/break_test.rb +376 -0
  58. data/test/condition_test.rb +82 -0
  59. data/test/continue_test.rb +27 -30
  60. data/test/debugger_alias_test.rb +4 -4
  61. data/test/delete_test.rb +26 -0
  62. data/test/display_test.rb +80 -102
  63. data/test/edit_test.rb +28 -31
  64. data/test/eval_test.rb +50 -80
  65. data/test/finish_test.rb +23 -23
  66. data/test/frame_test.rb +172 -186
  67. data/test/help_test.rb +27 -37
  68. data/test/history_test.rb +32 -41
  69. data/test/info_test.rb +198 -230
  70. data/test/interrupt_test.rb +17 -36
  71. data/test/irb_test.rb +47 -0
  72. data/test/kill_test.rb +19 -19
  73. data/test/list_test.rb +126 -133
  74. data/test/method_test.rb +21 -54
  75. data/test/post_mortem_test.rb +44 -46
  76. data/test/pry_test.rb +42 -0
  77. data/test/quit_test.rb +17 -15
  78. data/test/reload_test.rb +23 -28
  79. data/test/restart_test.rb +35 -63
  80. data/test/save_test.rb +46 -62
  81. data/test/set_test.rb +93 -144
  82. data/test/show_test.rb +50 -71
  83. data/test/source_test.rb +23 -26
  84. data/test/stepping_test.rb +125 -153
  85. data/test/support/matchers.rb +1 -6
  86. data/test/support/test_interface.rb +1 -1
  87. data/test/support/{test_dsl.rb → utils.rb} +17 -64
  88. data/test/test_helper.rb +25 -7
  89. data/test/thread_test.rb +101 -89
  90. data/test/trace_test.rb +48 -85
  91. data/test/variables_test.rb +43 -80
  92. metadata +18 -13
  93. data/lib/byebug/commands/breakpoints.rb +0 -137
  94. data/lib/byebug/commands/skip.rb +0 -30
  95. data/test/breakpoints_test.rb +0 -474
  96. data/test/conditions_test.rb +0 -82
  97. data/test/repl_test.rb +0 -75
@@ -1,83 +1,67 @@
1
- module SaveTest
2
- class SaveTestCase < TestDsl::TestCase
3
- before do
1
+ module Byebug
2
+ class SaveTestCase < TestCase
3
+ def setup
4
4
  @example = -> do
5
5
  byebug
6
6
  a = 2
7
7
  a = 3
8
8
  end
9
- end
10
-
11
- describe 'successful saving' do
12
- let(:file_name) { 'save_output.txt' }
13
- let(:file_contents) { File.read(file_name) }
14
- before do
15
- enter 'break 2', 'break 3 if true', 'catch NoMethodError',
16
- 'display 2 + 3', 'display 5 + 6', "save #{file_name}"
17
- debug_proc(@example)
18
- end
19
- after do
20
- File.delete(file_name)
21
- end
22
9
 
23
- it 'must save usual breakpoints' do
24
- file_contents.must_include "break #{__FILE__}:2"
25
- end
10
+ super
26
11
 
27
- it 'must save conditinal breakpoints' do
28
- file_contents.must_include "break #{__FILE__}:3 if true"
29
- end
30
-
31
- it 'must save catchpoints' do
32
- file_contents.must_include 'catch NoMethodError'
33
- end
12
+ enter 'break 2', 'break 3 if true', 'catch NoMethodError',
13
+ 'display 2 + 3', 'save save_output.txt'
14
+ debug_proc(@example)
15
+ end
34
16
 
35
- it 'must save displays' do
36
- file_contents.must_include 'display 2 + 3'
37
- end
17
+ def teardown
18
+ File.delete('save_output.txt')
19
+ end
38
20
 
39
- describe 'saving settings' do
40
- it 'must save autoeval' do
41
- file_contents.must_include 'set autoeval true'
42
- end
21
+ def file_contents
22
+ @file_contents ||= File.read('save_output.txt')
23
+ end
43
24
 
44
- it 'must save basename' do
45
- file_contents.must_include 'set basename false'
46
- end
25
+ def test_save_records_regular_breakpoints
26
+ assert_includes file_contents, "break #{__FILE__}:2"
27
+ end
47
28
 
48
- it 'must save testing' do
49
- file_contents.must_include 'set testing true'
50
- end
29
+ def test_save_records_conditional_breakpoints
30
+ assert_includes file_contents, "break #{__FILE__}:3 if true"
31
+ end
51
32
 
52
- it 'must save autolist' do
53
- file_contents.must_include 'set autolist true'
54
- end
33
+ def test_save_records_catchpoints
34
+ assert_includes file_contents, 'catch NoMethodError'
35
+ end
55
36
 
56
- it 'must save autoirb' do
57
- file_contents.must_include 'set autoirb false'
58
- end
59
- end
37
+ def test_save_records_displays
38
+ assert_includes file_contents, 'display 2 + 3'
39
+ end
60
40
 
61
- it 'must show a message about successful saving' do
62
- check_output_includes "Saved to '#{file_name}'"
63
- end
41
+ def test_save_records_current_state_of_settings
42
+ assert_includes file_contents, 'set autoeval true'
43
+ assert_includes file_contents, 'set basename false'
44
+ assert_includes file_contents, 'set testing true'
45
+ assert_includes file_contents, 'set autolist false'
46
+ assert_includes file_contents, 'set autoirb false'
64
47
  end
65
48
 
66
- describe 'without filename' do
67
- let(:file_contents) { File.read(interface.restart_file) }
68
- after { FileUtils.rm(interface.restart_file) }
49
+ def test_save_shows_a_success_message
50
+ check_output_includes "Saved to 'save_output.txt'"
51
+ end
69
52
 
70
- it 'must fabricate a filename if not provided' do
71
- enter 'save'
72
- debug_proc(@example)
73
- file_contents.must_include 'set autoirb'
74
- end
53
+ def test_save_without_a_filename_uses_a_default_file
54
+ enter 'save'
55
+ debug_proc(@example)
56
+ assert_includes File.read(interface.restart_file), 'set autoirb false'
57
+ FileUtils.rm(interface.restart_file)
58
+ end
75
59
 
76
- it 'must show a message where the file is saved' do
77
- enter 'save'
78
- debug_proc(@example)
79
- check_output_includes "Saved to '#{interface.restart_file}'"
80
- end
60
+ def test_save_without_a_filename_shows_a_message_with_the_file_used
61
+ enter 'save'
62
+ debug_proc(@example)
63
+ check_output_includes "Saved to '#{interface.restart_file}'"
64
+ FileUtils.rm(interface.restart_file)
81
65
  end
82
66
  end
83
67
  end
@@ -1,183 +1,132 @@
1
- module SetTest
2
- class SetTestCase < TestDsl::TestCase
3
- before do
1
+ module Byebug
2
+ class SetTestCase < TestCase
3
+ def setup
4
4
  @example = -> do
5
5
  byebug
6
6
  a = 2
7
7
  a += 1
8
8
  end
9
+
10
+ super
9
11
  end
10
12
 
11
13
  [:autoeval, :autolist, :autoreload, :autosave, :basename, :forcestep,
12
- :fullpath, :post_mortem, :stack_on_error, :testing, :linetrace,
13
- :tracing_plus].each do |setting|
14
- describe "setting boolean #{setting} to on" do
15
- temporary_change_hash Byebug::Setting, setting, false
16
-
17
- it "must set #{setting} to on using on" do
18
- enter "set #{setting} on"
19
- debug_proc(@example)
20
- Byebug::Setting[setting].must_equal true
21
- end
22
-
23
- it "must set #{setting} to on using 1" do
24
- enter "set #{setting} 1"
25
- debug_proc(@example)
26
- Byebug::Setting[setting].must_equal true
27
- end
28
-
29
- it "must set #{setting} to on by default" do
30
- enter "set #{setting}"
14
+ :fullpath, :post_mortem, :stack_on_error, :testing,
15
+ :tracing_plus].each do |set|
16
+ ['on', '1', 'true', ''].each do |key|
17
+ define_method(:"test_enable_boolean_setting_#{set}_using_#{key}") do
18
+ Setting[set] = false
19
+ enter "set #{set} #{key}"
31
20
  debug_proc(@example)
32
- Byebug::Setting[setting].must_equal true
21
+ assert_equal true, Setting[set]
33
22
  end
34
23
  end
35
24
 
36
- describe "setting boolean #{setting} to off" do
37
- temporary_change_hash Byebug::Setting, setting, true
38
-
39
- it "must set #{setting} to off using off" do
40
- enter "set #{setting} off"
41
- debug_proc(@example)
42
- Byebug::Setting[setting].must_equal false
43
- end
44
-
45
- it "must set #{setting} to on using 0" do
46
- enter "set #{setting} 0"
25
+ ['off', '0', 'false'].each do |key|
26
+ define_method(:"test_disable_boolean_setting_#{set}_using_#{key}") do
27
+ Setting[set] = true
28
+ enter "set #{set} #{key}"
47
29
  debug_proc(@example)
48
- Byebug::Setting[setting].must_equal false
49
- end
50
-
51
- it "must set #{setting} to off using 'no' prefix" do
52
- enter "set no#{setting}"
53
- debug_proc(@example)
54
- Byebug::Setting[setting].must_equal false
30
+ assert_equal false, Setting[set]
55
31
  end
56
32
  end
57
- end
58
33
 
59
- describe 'shortcuts' do
60
- describe 'setting' do
61
- temporary_change_hash Byebug::Setting, :autosave, false
62
-
63
- it 'must set setting if shortcut not ambiguous' do
64
- enter 'set autos'
65
- debug_proc(@example)
66
- Byebug::Setting[:autosave].must_equal true
67
- end
68
-
69
- it 'must not set setting if shortcut is ambiguous' do
70
- enter 'set auto'
71
- debug_proc(@example)
72
- Byebug::Setting[:autosave].must_equal false
73
- end
74
- end
75
-
76
- describe 'unsetting' do
77
- temporary_change_hash Byebug::Setting, :autosave, true
78
-
79
- it 'must unset setting if shortcut not ambiguous' do
80
- enter 'set noautos'
81
- debug_proc(@example)
82
- Byebug::Setting[:autosave].must_equal false
83
- end
84
-
85
- it 'must not set setting to off if shortcut ambiguous' do
86
- enter 'set noauto'
87
- debug_proc(@example)
88
- Byebug::Setting[:autosave].must_equal true
89
- end
34
+ define_method(:"test_disable_boolean_setting_#{set}_using_no_prefix") do
35
+ Setting[set] = true
36
+ enter "set no#{set}"
37
+ debug_proc(@example)
38
+ assert_equal false, Setting[set]
90
39
  end
91
40
  end
92
41
 
93
- describe 'testing' do
94
- describe 'state' do
95
- describe 'when setting "testing" to on' do
96
- temporary_change_hash Byebug::Setting, :testing, false
97
-
98
- it 'must get set' do
99
- enter 'set testing', 'break 7', 'cont'
100
- debug_proc(@example) {
101
- state.must_be_kind_of Byebug::CommandProcessor::State }
102
- end
103
- end
104
-
105
- describe 'when setting "testing" to off' do
106
- temporary_change_hash Byebug::Setting, :testing, true
107
-
108
- it 'must get unset' do
109
- enter 'set notesting', 'break 7', 'cont'
110
- debug_proc(@example) { state.must_be_nil }
111
- end
112
- end
113
- end
42
+ def test_set_enables_a_setting_using_shorcut_when_not_ambiguous
43
+ Setting[:forcestep] = false
44
+ enter 'set fo'
45
+ debug_proc(@example)
46
+ assert_equal true, Setting[:forcestep]
114
47
  end
115
48
 
116
- describe 'histsize' do
117
- temporary_change_hash Byebug::Setting, :histsize, 1
49
+ def test_set_does_not_enable_a_setting_using_shorcut_when_ambiguous
50
+ Setting[:forcestep] = false
51
+ Setting[:fullpath] = false
52
+ enter 'set f'
53
+ debug_proc(@example)
54
+ assert_equal false, Setting[:forcestep]
55
+ assert_equal false, Setting[:fullpath]
56
+ end
118
57
 
119
- it 'must set maximum history size' do
120
- enter 'set histsize 250'
121
- debug_proc(@example)
122
- Byebug::Setting[:histsize].must_equal 250
123
- end
58
+ def test_set_disables_a_setting_using_shorcut_when_not_ambiguous
59
+ Setting[:forcestep] = true
60
+ enter 'set nofo'
61
+ debug_proc(@example)
62
+ assert_equal false, Setting[:forcestep]
63
+ end
124
64
 
125
- it 'must show a message' do
126
- enter 'set histsize 250'
127
- debug_proc(@example)
128
- check_output_includes "Maximum size of byebug's command history is 250"
129
- end
65
+ def test_set_does_not_disable_a_setting_using_shorcut_when_ambiguous
66
+ Setting[:forcestep] = true
67
+ Setting[:fullpath] = true
68
+ enter 'set nof'
69
+ debug_proc(@example)
70
+ assert_equal true, Setting[:forcestep]
71
+ assert_equal true, Setting[:fullpath]
72
+ end
130
73
 
131
- it 'must show an error message if no size provided' do
132
- enter 'set histsize'
133
- debug_proc(@example)
134
- check_output_includes 'You must specify a value for setting :histsize'
74
+ def test_set_testing_sets_the_thread_state_variable
75
+ Setting[:testing] = false
76
+ enter 'set testing', 'break 7', 'cont'
77
+ debug_proc(@example) do
78
+ assert_kind_of CommandProcessor::State, state
135
79
  end
136
80
  end
137
81
 
138
- describe 'histfile' do
139
- let(:filename) { File.expand_path('.custom-byebug-hist') }
140
-
141
- temporary_change_hash Byebug::Setting, :histfile, File.expand_path('.byebug-hist')
142
-
143
- it 'must set history filename' do
144
- enter "set histfile #{filename}"
145
- debug_proc(@example)
146
- Byebug::Setting[:histfile].must_equal filename
147
- end
82
+ def test_set_notesting_unsets_the_thread_state_variable
83
+ Setting[:testing] = true
84
+ enter 'set notesting', 'break 7', 'cont'
85
+ debug_proc(@example) { assert_nil state }
86
+ end
148
87
 
149
- it 'must show a message' do
150
- enter "set histfile #{filename}"
151
- debug_proc(@example)
152
- check_output_includes "The command history file is #{filename}"
153
- end
88
+ def test_set_histsize_sets_maximum_history_size
89
+ Setting[:histsize] = 1
90
+ enter 'set histsize 250'
91
+ debug_proc(@example)
92
+ assert_equal 250, Setting[:histsize]
93
+ check_output_includes "Maximum size of byebug's command history is 250"
94
+ end
154
95
 
155
- it 'must show an error message if no filename provided' do
156
- enter 'set histfile'
157
- debug_proc(@example)
158
- check_output_includes 'You must specify a value for setting :histfile'
159
- end
96
+ def test_set_histsize_shows_an_error_message_if_no_size_is_provided
97
+ enter 'set histsize'
98
+ debug_proc(@example)
99
+ check_output_includes 'You must specify a value for setting :histsize'
160
100
  end
161
101
 
162
- [:listsize, :width].each do |setting|
163
- describe "setting integer setting #{setting}" do
164
- temporary_change_hash Byebug::Setting, setting, 80
102
+ def test_set_histfile_sets_command_history_file
103
+ filename = File.expand_path('.custom-byebug-hist')
104
+ enter "set histfile #{filename}"
105
+ debug_proc(@example)
106
+ assert_equal filename, Setting[:histfile]
107
+ check_output_includes "The command history file is #{filename}"
108
+ end
165
109
 
166
- it 'must get correctly set' do
167
- enter "set #{setting} 120"
168
- debug_proc(@example)
169
- Byebug::Setting[setting].must_equal 120
170
- end
171
- end
110
+ def test_set_histfile_shows_an_error_message_if_no_filename_is_provided
111
+ enter 'set histfile'
112
+ debug_proc(@example)
113
+ check_output_includes 'You must specify a value for setting :histfile'
172
114
  end
173
115
 
174
- describe 'Help' do
175
- it 'must show help when typing just "set"' do
176
- enter 'set', 'cont'
116
+ [:listsize, :width].each do |set|
117
+ define_method(:"test_set_#{set}_changes_integer_setting_#{set}") do
118
+ Setting[set] = 80
119
+ enter "set #{set} 120"
177
120
  debug_proc(@example)
178
- check_output_includes(/Modifies parts of byebug environment./)
179
- check_output_includes(/List of settings supported in byebug/)
121
+ assert_equal 120, Setting[set]
180
122
  end
181
123
  end
124
+
125
+ def test_set_without_arguments_shows_help_for_set_command
126
+ enter 'set'
127
+ debug_proc(@example)
128
+ check_output_includes(/Modifies parts of byebug environment./)
129
+ check_output_includes(/List of settings supported in byebug/)
130
+ end
182
131
  end
183
132
  end
@@ -1,97 +1,76 @@
1
- module ShowTest
2
- class ShowTestCase < TestDsl::TestCase
3
- before do
1
+ module Byebug
2
+ class ShowTestCase < TestCase
3
+ def setup
4
4
  @example = -> do
5
5
  byebug
6
6
  end
7
- end
8
-
9
- [:autoeval, :autolist, :autoreload, :autosave, :basename, :forcestep,
10
- :fullpath, :post_mortem, :stack_on_error, :testing, :linetrace,
11
- :tracing_plus].each do |setting|
12
- describe "showing disabled boolean setting #{setting}" do
13
- temporary_change_hash Byebug::Setting, setting, false
14
-
15
- it 'must show default value' do
16
- enter "show #{setting}"
17
- debug_proc(@example)
18
- check_output_includes "#{setting} is off"
19
- end
20
- end
21
-
22
- describe "showing enabled boolean setting #{setting}" do
23
- temporary_change_hash Byebug::Setting, setting, true
24
7
 
25
- it 'must show default value' do
26
- enter "show #{setting}"
27
- debug_proc(@example)
28
- check_output_includes "#{setting} is on"
29
- end
30
- end
8
+ super
31
9
  end
32
10
 
33
- describe 'callstyle' do
34
- it 'must show default value' do
35
- enter 'show callstyle'
11
+ [:autoeval, :autolist, :autoreload, :autosave, :basename, :forcestep,
12
+ :fullpath, :post_mortem, :stack_on_error, :testing,
13
+ :tracing_plus].each do |set|
14
+ define_method(:"test_show_#{set}_shows_disabled_bool_setting_#{set}") do
15
+ Setting[set] = false
16
+ enter "show #{set}"
36
17
  debug_proc(@example)
37
- check_output_includes 'Frame display callstyle is :long'
18
+ check_output_includes "#{set} is off"
38
19
  end
39
- end
40
20
 
41
- describe 'listsize' do
42
- it 'must show listsize' do
43
- enter 'show listsize'
21
+ define_method(:"test_show_#{set}_shows_enabled_bool_setting_#{set}") do
22
+ Setting[set] = true
23
+ enter "show #{set}"
44
24
  debug_proc(@example)
45
- check_output_includes 'Number of source lines to list is 10'
25
+ check_output_includes "#{set} is on"
46
26
  end
47
27
  end
48
28
 
49
- describe 'width' do
50
- let(:cols) { `stty size`.scan(/\d+/)[1].to_i }
51
-
52
- it 'must show default width' do
53
- enter 'show width'
54
- debug_proc(@example)
55
- check_output_includes "Maximum width of byebug's output is #{cols}"
56
- end
29
+ def test_show_callstyle
30
+ enter 'show callstyle'
31
+ debug_proc(@example)
32
+ check_output_includes "Frame display callstyle is 'long'"
57
33
  end
58
34
 
59
- describe 'unknown command' do
60
- it 'must show a message' do
61
- enter 'show bla'
62
- debug_proc(@example)
63
- check_output_includes 'Unknown setting :bla'
64
- end
35
+ def test_show_listsize
36
+ enter 'show listsize'
37
+ debug_proc(@example)
38
+ check_output_includes 'Number of source lines to list is 10'
65
39
  end
66
40
 
67
- describe 'histfile' do
68
- before { @filename = Byebug::Setting[:histfile] }
41
+ def test_show_width
42
+ width = Setting[:width]
43
+ enter 'show width'
44
+ debug_proc(@example)
45
+ check_output_includes "Maximum width of byebug's output is #{width}"
46
+ end
69
47
 
70
- it 'must show history filename' do
71
- enter 'show histfile'
72
- debug_proc(@example)
73
- check_output_includes "The command history file is #{@filename}"
74
- end
48
+ def test_show_unknown_setting
49
+ enter 'show bla'
50
+ debug_proc(@example)
51
+ check_output_includes 'Unknown setting :bla'
75
52
  end
76
53
 
77
- describe 'histsize' do
78
- before { @max_size = Byebug::Setting[:histsize] }
54
+ def test_show_histfile
55
+ filename = Setting[:histfile]
56
+ enter 'show histfile'
57
+ debug_proc(@example)
58
+ check_output_includes "The command history file is #{filename}"
59
+ end
79
60
 
80
- it "must show history's max size" do
81
- enter 'show histsize'
82
- debug_proc(@example)
83
- check_output_includes \
84
- "Maximum size of byebug's command history is #{@max_size}"
85
- end
61
+ def test_show_histsize
62
+ max_size = Setting[:histsize]
63
+ enter 'show histsize'
64
+ debug_proc(@example)
65
+ check_output_includes \
66
+ "Maximum size of byebug's command history is #{max_size}"
86
67
  end
87
68
 
88
- describe 'Help' do
89
- it 'must show help when typing just "show"' do
90
- enter 'show', 'cont'
91
- debug_proc(@example)
92
- check_output_includes(/Generic command for showing byebug settings./)
93
- check_output_includes(/List of settings supported in byebug/)
94
- end
69
+ def test_show_without_arguments_displays_help_for_the_show_command
70
+ enter 'show'
71
+ debug_proc(@example)
72
+ check_output_includes(/Generic command for showing byebug settings./)
73
+ check_output_includes(/List of settings supported in byebug/)
95
74
  end
96
75
  end
97
76
  end