diff options
Diffstat (limited to 'spec/ruby/core/file/umask_spec.rb')
| -rw-r--r-- | spec/ruby/core/file/umask_spec.rb | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/spec/ruby/core/file/umask_spec.rb b/spec/ruby/core/file/umask_spec.rb index 2286bf064f..fea8cf7633 100644 --- a/spec/ruby/core/file/umask_spec.rb +++ b/spec/ruby/core/file/umask_spec.rb @@ -1,4 +1,4 @@ -require File.expand_path('../../../spec_helper', __FILE__) +require_relative '../../spec_helper' describe "File.umask" do before :each do @@ -12,8 +12,8 @@ describe "File.umask" do File.umask(@orig_umask) end - it "returns a Fixnum" do - File.umask.should be_kind_of(Fixnum) + it "returns an Integer" do + File.umask.should.is_a?(Integer) end platform_is_not :windows do @@ -30,18 +30,6 @@ describe "File.umask" do end end - it "always succeeds with any integer values" do - vals = [-2**30, -2**16, -2**8, -2, - -1.5, -1, 0.5, 0, 1, 2, 7.77777, 16, 32, 64, 2**8, 2**16, 2**30] - vals.each { |v| - lambda { File.umask(v) }.should_not raise_error - } - end - - it "raises ArgumentError when more than one argument is provided" do - lambda { File.umask(022, 022) }.should raise_error(ArgumentError) - end - platform_is :windows do it "returns the current umask value for this process (basic)" do File.umask.should == 0 @@ -57,4 +45,13 @@ describe "File.umask" do File.umask.should == 0 end end + + it "raises RangeError with too large values" do + -> { File.umask(2**64) }.should.raise(RangeError) + -> { File.umask(-2**63 - 1) }.should.raise(RangeError) + end + + it "raises ArgumentError when more than one argument is provided" do + -> { File.umask(022, 022) }.should.raise(ArgumentError) + end end |
