Sha256: 0945915cf6fe5841227ff60376fa9a1b6ec9626a8f4b761ff940ed99ce3004f3
Contents?: true
Size: 1.59 KB
Versions: 6
Compression:
Stored size: 1.59 KB
Contents
require 'rib/test' require 'rib/core/history' shared :history do should '#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 should '#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 should '#before_loop have empty history if no history file exists' do @shell.before_loop @shell.history.to_a.should.eq [] end should '#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 should '#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 behaves_like :rib 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 test_for Rib::History do behaves_like :history end end
Version data entries
6 entries across 6 versions & 1 rubygems