mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
ffd0820ab3
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.
47 lines
1.5 KiB
Ruby
47 lines
1.5 KiB
Ruby
require_relative '../spec_helper'
|
|
|
|
with_feature :readline do
|
|
describe "Readline::HISTORY.delete_at" do
|
|
it "deletes and returns the history entry at the specified index" do
|
|
Readline::HISTORY.push("1", "2", "3")
|
|
|
|
Readline::HISTORY.delete_at(1).should == "2"
|
|
Readline::HISTORY.size.should == 2
|
|
|
|
Readline::HISTORY.delete_at(1).should == "3"
|
|
Readline::HISTORY.size.should == 1
|
|
|
|
Readline::HISTORY.delete_at(0).should == "1"
|
|
Readline::HISTORY.size.should == 0
|
|
|
|
|
|
Readline::HISTORY.push("1", "2", "3", "4")
|
|
|
|
Readline::HISTORY.delete_at(-2).should == "3"
|
|
Readline::HISTORY.size.should == 3
|
|
|
|
Readline::HISTORY.delete_at(-2).should == "2"
|
|
Readline::HISTORY.size.should == 2
|
|
|
|
Readline::HISTORY.delete_at(0).should == "1"
|
|
Readline::HISTORY.size.should == 1
|
|
|
|
Readline::HISTORY.delete_at(0).should == "4"
|
|
Readline::HISTORY.size.should == 0
|
|
end
|
|
|
|
it "raises an IndexError when the given index is greater than the history size" do
|
|
-> { Readline::HISTORY.delete_at(10) }.should raise_error(IndexError)
|
|
-> { Readline::HISTORY.delete_at(-10) }.should raise_error(IndexError)
|
|
end
|
|
|
|
ruby_version_is ''...'2.7' do
|
|
it "taints the returned strings" do
|
|
Readline::HISTORY.push("1", "2", "3")
|
|
Readline::HISTORY.delete_at(0).tainted?.should be_true
|
|
Readline::HISTORY.delete_at(0).tainted?.should be_true
|
|
Readline::HISTORY.delete_at(0).tainted?.should be_true
|
|
end
|
|
end
|
|
end
|
|
end
|