1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/spec/ruby/library/readline/history/element_reference_spec.rb
Jeremy Evans ffd0820ab3 Deprecate taint/trust and related methods, and make the methods no-ops
This removes the related tests, and puts the related specs behind
version guards.  This affects all code in lib, including some
libraries that may want to support older versions of Ruby.
2019-11-18 01:00:25 +02:00

42 lines
1.3 KiB
Ruby

require_relative '../spec_helper'
with_feature :readline do
describe "Readline::HISTORY.[]" do
before :each do
Readline::HISTORY.push("1", "2", "3")
end
after :each do
Readline::HISTORY.pop
Readline::HISTORY.pop
Readline::HISTORY.pop
end
ruby_version_is ''...'2.7' do
it "returns tainted objects" do
Readline::HISTORY[0].tainted?.should be_true
Readline::HISTORY[1].tainted?.should be_true
end
end
it "returns the history item at the passed index" do
Readline::HISTORY[0].should == "1"
Readline::HISTORY[1].should == "2"
Readline::HISTORY[2].should == "3"
Readline::HISTORY[-1].should == "3"
Readline::HISTORY[-2].should == "2"
Readline::HISTORY[-3].should == "1"
end
it "raises an IndexError when there is no item at the passed index" do
-> { Readline::HISTORY[-10] }.should raise_error(IndexError)
-> { Readline::HISTORY[-9] }.should raise_error(IndexError)
-> { Readline::HISTORY[-8] }.should raise_error(IndexError)
-> { Readline::HISTORY[8] }.should raise_error(IndexError)
-> { Readline::HISTORY[9] }.should raise_error(IndexError)
-> { Readline::HISTORY[10] }.should raise_error(IndexError)
end
end
end