summaryrefslogtreecommitdiff
path: root/spec/ruby/core/file/umask_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/file/umask_spec.rb')
-rw-r--r--spec/ruby/core/file/umask_spec.rb27
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