diff options
Diffstat (limited to 'spec/ruby/core/env/shared/each.rb')
| -rw-r--r-- | spec/ruby/core/env/shared/each.rb | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/spec/ruby/core/env/shared/each.rb b/spec/ruby/core/env/shared/each.rb index 4039dd1f83..0661ca924c 100644 --- a/spec/ruby/core/env/shared/each.rb +++ b/spec/ruby/core/env/shared/each.rb @@ -8,16 +8,20 @@ describe :env_each, shared: true do ENV.clear ENV["foo"] = "bar" ENV["baz"] = "boo" - ENV.send(@method) { |k, v| e << [k, v] } - e.should include(["foo", "bar"]) - e.should include(["baz", "boo"]) + ENV.send(@method) { |k, v| e << [k, v] }.should.equal?(ENV) + e.should.include?(["foo", "bar"]) + e.should.include?(["baz", "boo"]) ensure ENV.replace orig end end it "returns an Enumerator if called without a block" do - ENV.send(@method).should be_an_instance_of(Enumerator) + enum = ENV.send(@method) + enum.should.instance_of?(Enumerator) + enum.each do |name, value| + ENV[name].should == value + end end before :all do @@ -30,9 +34,7 @@ describe :env_each, shared: true do @external = Encoding.default_external @internal = Encoding.default_internal - Encoding.default_external = Encoding::ASCII_8BIT - - @locale_encoding = Encoding.find "locale" + Encoding.default_external = Encoding::BINARY end after :each do @@ -44,8 +46,8 @@ describe :env_each, shared: true do Encoding.default_internal = nil ENV.send(@method) do |key, value| - key.encoding.should equal(@locale_encoding) - value.encoding.should equal(@locale_encoding) + key.should.be_locale_env + value.should.be_locale_env end end @@ -53,9 +55,9 @@ describe :env_each, shared: true do Encoding.default_internal = internal = Encoding::IBM437 ENV.send(@method) do |key, value| - key.encoding.should equal(internal) + key.encoding.should.equal?(internal) if value.ascii_only? - value.encoding.should equal(internal) + value.encoding.should.equal?(internal) end end end |
