From 664e96b1de816c813c29f61e16a2031a7af7ba86 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Sat, 26 Oct 2019 20:53:01 +0200 Subject: Update to ruby/spec@28a728b --- spec/ruby/core/env/keep_if_spec.rb | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) (limited to 'spec/ruby/core/env/keep_if_spec.rb') diff --git a/spec/ruby/core/env/keep_if_spec.rb b/spec/ruby/core/env/keep_if_spec.rb index cf8e27936e..64b6a207d0 100644 --- a/spec/ruby/core/env/keep_if_spec.rb +++ b/spec/ruby/core/env/keep_if_spec.rb @@ -3,20 +3,30 @@ require_relative '../enumerable/shared/enumeratorized' describe "ENV.keep_if" do before :each do - ENV["foo"] = "bar" + @foo = ENV["foo"] + @bar = ENV["bar"] + + ENV["foo"] = "0" + ENV["bar"] = "1" end after :each do - ENV.delete "foo" + ENV["foo"] = @foo + ENV["bar"] = @bar end it "deletes pairs if the block returns false" do - ENV.keep_if { |k, v| k != "foo" } + ENV.keep_if { |k, v| !["foo", "bar"].include?(k) } ENV["foo"].should == nil + ENV["bar"].should == nil + end + + it "returns ENV when block given" do + ENV.keep_if { |k, v| !["foo", "bar"].include?(k) }.should equal(ENV) end it "returns ENV even if nothing deleted" do - ENV.keep_if { true }.should_not == nil + ENV.keep_if { true }.should equal(ENV) end it "returns an Enumerator if no block given" do @@ -25,8 +35,19 @@ describe "ENV.keep_if" do it "deletes pairs through enumerator" do enum = ENV.keep_if - enum.each { |k, v| k != "foo" } + enum.each { |k, v| !["foo", "bar"].include?(k) } ENV["foo"].should == nil + ENV["bar"].should == nil + end + + it "returns ENV from enumerator" do + enum = ENV.keep_if + enum.each { |k, v| !["foo", "bar"].include?(k) }.should equal(ENV) + end + + it "returns ENV from enumerator even if nothing deleted" do + enum = ENV.keep_if + enum.each { true }.should equal(ENV) end it_behaves_like :enumeratorized_with_origin_size, :keep_if, ENV -- cgit v1.2.3