diff options
author | Benoit Daloze <[email protected]> | 2019-04-28 23:20:09 +0200 |
---|---|---|
committer | Benoit Daloze <[email protected]> | 2019-04-28 23:20:09 +0200 |
commit | 994833085ae06afbe94d30ab183d80e0234fbe14 (patch) | |
tree | 4778d79395b0bfa7cccbec584e5755b3c5e97e66 /spec | |
parent | bbb93608a385242da93bc5256a90a6376981d86f (diff) |
Update to ruby/mspec@c25d63d
Diffstat (limited to 'spec')
-rw-r--r-- | spec/mspec/lib/mspec/helpers/io.rb | 32 | ||||
-rw-r--r-- | spec/mspec/lib/mspec/utils/options.rb | 2 | ||||
-rw-r--r-- | spec/mspec/spec/helpers/io_spec.rb | 42 |
3 files changed, 5 insertions, 71 deletions
diff --git a/spec/mspec/lib/mspec/helpers/io.rb b/spec/mspec/lib/mspec/helpers/io.rb index 5361fb9564..f2c799dcab 100644 --- a/spec/mspec/lib/mspec/helpers/io.rb +++ b/spec/mspec/lib/mspec/helpers/io.rb @@ -65,8 +65,6 @@ end # with any Ruby object). The file descriptor can safely be passed # to IO.new without creating a Ruby object alias to the fd. def new_fd(name, mode="w:utf-8") - mode = options_or_mode(mode) - if mode.kind_of? Hash if mode.key? :mode mode = mode[:mode] @@ -75,41 +73,15 @@ def new_fd(name, mode="w:utf-8") end end - IO.sysopen name, fmode(mode) + IO.sysopen name, mode end # Creates an IO instance for a temporary file name. The file # must be deleted. def new_io(name, mode="w:utf-8") - IO.new new_fd(name, options_or_mode(mode)), options_or_mode(mode) + IO.new new_fd(name, mode), mode end def find_unused_fd Dir.entries("/dev/fd").map(&:to_i).max + 1 end - -# This helper simplifies passing file access modes regardless of -# whether the :encoding feature is enabled. Only the access specifier -# itself will be returned if :encoding is not enabled. Otherwise, -# the full mode string will be returned (i.e. the helper is a no-op). -def fmode(mode) - if FeatureGuard.enabled? :encoding - mode - else - mode.split(':').first - end -end - -# This helper simplifies passing file access modes or options regardless of -# whether the :encoding feature is enabled. Only the access specifier itself -# will be returned if :encoding is not enabled. Otherwise, the full mode -# string or option will be returned (i.e. the helper is a no-op). -def options_or_mode(oom) - return fmode(oom) if oom.kind_of? String - - if FeatureGuard.enabled? :encoding - oom - else - fmode(oom[:mode] || "r:utf-8") - end -end diff --git a/spec/mspec/lib/mspec/utils/options.rb b/spec/mspec/lib/mspec/utils/options.rb index 9f8dd01dbf..bbe64238c5 100644 --- a/spec/mspec/lib/mspec/utils/options.rb +++ b/spec/mspec/lib/mspec/utils/options.rb @@ -384,7 +384,7 @@ class MSpecOptions def repeat on("-R", "--repeat", "NUMBER", "Repeatedly run an example NUMBER times") do |o| - MSpec.repeat = o.to_i + MSpec.repeat = Integer(o) end end diff --git a/spec/mspec/spec/helpers/io_spec.rb b/spec/mspec/spec/helpers/io_spec.rb index 3219f59947..86e42097f8 100644 --- a/spec/mspec/spec/helpers/io_spec.rb +++ b/spec/mspec/spec/helpers/io_spec.rb @@ -64,7 +64,7 @@ describe Object, "#new_fd" do fd = new_fd @name fd.should be_kind_of(Integer) - @io = IO.new fd, fmode('w:utf-8') + @io = IO.new fd, 'w:utf-8' @io.sync = true @io.print "io data" @@ -76,7 +76,7 @@ describe Object, "#new_fd" do fd = new_fd @name, { :mode => 'w:utf-8' } fd.should be_kind_of(Integer) - @io = IO.new fd, fmode('w:utf-8') + @io = IO.new fd, 'w:utf-8' @io.sync = true @io.print "io data" @@ -134,41 +134,3 @@ describe Object, "#new_io" do IO.read(@name).should == "io data" end end - -describe Object, "#fmode" do - it "returns the argument unmodified if :encoding feature is enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).and_return(true) - fmode("rb:binary:utf-8").should == "rb:binary:utf-8" - end - - it "returns only the file access mode if :encoding feature is not enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).and_return(false) - fmode("rb:binary:utf-8").should == "rb" - end -end - -describe Object, "#options_or_mode" do - describe "if passed a Hash" do - it "returns a mode string if :encoding feature is not enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).twice.and_return(false) - options_or_mode(:mode => "rb:binary").should == "rb" - end - - it "returns a Hash if :encoding feature is enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).and_return(true) - options_or_mode(:mode => "rb:utf-8").should == { :mode => "rb:utf-8" } - end - end - - describe "if passed a String" do - it "returns only the file access mode if :encoding feature is not enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).and_return(false) - options_or_mode("rb:binary:utf-8").should == "rb" - end - - it "returns the argument unmodified if :encoding feature is enabled" do - FeatureGuard.should_receive(:enabled?).with(:encoding).and_return(true) - options_or_mode("rb:binary:utf-8").should == "rb:binary:utf-8" - end - end -end |