diff options
| -rw-r--r-- | lib/reline/config.rb | 8 | ||||
| -rw-r--r-- | test/reline/test_config.rb | 11 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/reline/config.rb b/lib/reline/config.rb index fdc2b39c1b..61708f96a7 100644 --- a/lib/reline/config.rb +++ b/lib/reline/config.rb @@ -184,9 +184,8 @@ class Reline::Config def bind_variable(name, value) case name - when *VARIABLE_NAMES then - variable_name = :"@#{name.tr(?-, ?_)}" - instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on') + when 'history-size' + @history_size = value.to_i when 'bell-style' @bell_style = case value @@ -225,6 +224,9 @@ class Reline::Config end when 'keyseq-timeout' @keyseq_timeout = value.to_i + when *VARIABLE_NAMES then + variable_name = :"@#{name.tr(?-, ?_)}" + instance_variable_set(variable_name, value.nil? || value == '1' || value == 'on') end end diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index dd5142d587..14342fff86 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -195,4 +195,15 @@ class Reline::Config::Test < Reline::TestCase expected = { 'ef'.bytes => 'EF'.bytes, 'gh'.bytes => 'GH'.bytes } assert_equal expected, @config.key_bindings end + + def test_history_size + @config.read_lines(<<~LINES.lines) + set history-size 5000 + LINES + + assert_equal 5000, @config.instance_variable_get(:@history_size) + history = Reline::History.new(@config) + history << "a\n" + assert_equal 1, history.size + end end |
