diff options
Diffstat (limited to 'spec/ruby/core/env/shared/each.rb')
| -rw-r--r-- | spec/ruby/core/env/shared/each.rb | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/spec/ruby/core/env/shared/each.rb b/spec/ruby/core/env/shared/each.rb index 494fd5cee1..0661ca924c 100644 --- a/spec/ruby/core/env/shared/each.rb +++ b/spec/ruby/core/env/shared/each.rb @@ -1,4 +1,4 @@ -require File.expand_path('../../../enumerable/shared/enumeratorized', __FILE__) +require_relative '../../enumerable/shared/enumeratorized' describe :env_each, shared: true do it "returns each pair" do @@ -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 @@ -25,39 +29,35 @@ describe :env_each, shared: true do end it_should_behave_like :enumeratorized_with_origin_size - with_feature :encoding do - describe "with encoding" do - before :each do - @external = Encoding.default_external - @internal = Encoding.default_internal - - Encoding.default_external = Encoding::ASCII_8BIT + describe "with encoding" do + before :each do + @external = Encoding.default_external + @internal = Encoding.default_internal - @locale_encoding = Encoding.find "locale" - end + Encoding.default_external = Encoding::BINARY + end - after :each do - Encoding.default_external = @external - Encoding.default_internal = @internal - end + after :each do + Encoding.default_external = @external + Encoding.default_internal = @internal + end - it "uses the locale encoding when Encoding.default_internal is nil" do - Encoding.default_internal = nil + it "uses the locale encoding when Encoding.default_internal is nil" do + Encoding.default_internal = nil - ENV.send(@method) do |key, value| - key.encoding.should equal(@locale_encoding) - value.encoding.should equal(@locale_encoding) - end + ENV.send(@method) do |key, value| + key.should.be_locale_env + value.should.be_locale_env end + end - it "transcodes from the locale encoding to Encoding.default_internal if set" do - Encoding.default_internal = internal = Encoding::IBM437 + it "transcodes from the locale encoding to Encoding.default_internal if set" do + Encoding.default_internal = internal = Encoding::IBM437 - ENV.send(@method) do |key, value| - key.encoding.should equal(internal) - if value.ascii_only? - value.encoding.should equal(internal) - end + ENV.send(@method) do |key, value| + key.encoding.should.equal?(internal) + if value.ascii_only? + value.encoding.should.equal?(internal) end end end |
