Sha256: 7094ac7acaf1e7be6826b0c9d3ae970e0a1d92209b6b3e79299136950803b1cb
Contents?: true
Size: 1.6 KB
Versions: 5
Compression:
Stored size: 1.6 KB
Contents
require 'rib/test' require 'rib/core/history' copy :history do would '#after_loop save history' do inputs = %w[blih blah] @shell.history.clear @shell.history.push(*inputs) @shell.after_loop File.read(@history_file).should.eq "#{inputs.join("\n")}\n" end would '#before_loop load previous history' do File.open(@history_file, 'w'){ |f| f.write "check\nthe\nmike" } @shell.before_loop @shell.history.to_a.should.eq %w[check the mike] end would '#before_loop have empty history if no history file exists' do @shell.before_loop @shell.history.to_a.should.eq [] end would '#read_history be accessible to plugins in #before_loop' do mod = Module.new do def read_history config[:history] = ['pong_read_history'] end end shell = Rib::Shell.dup shell.use(mod) shell.new.before_loop.history.should.eq ['pong_read_history'] end would '#write_history be accessible to plugins in #after_loop' do mod = Module.new do def write_history config[:history] = ['pong_write_history'] end end shell = Rib::Shell.dup shell.use(mod) shell.new.before_loop.after_loop.history.should.eq ['pong_write_history'] end end describe Rib::History do paste :rib test_for Rib::History do before do if readline? ::Readline::HISTORY.clear stub_readline end @history_file = "/tmp/test_rib_#{rand}" @shell = Rib::Shell.new( :history_file => @history_file).before_loop end after do FileUtils.rm_f(@history_file) end paste :history end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
rib-1.3.0 | test/core/test_history.rb |
rib-1.2.91 | test/core/test_history.rb |
rib-1.2.9 | test/core/test_history.rb |
rib-1.2.8 | test/core/test_history.rb |
rib-1.2.7 | test/core/test_history.rb |