summaryrefslogtreecommitdiff
path: root/spec/ruby/shared/file
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/shared/file')
-rw-r--r--spec/ruby/shared/file/directory.rb6
-rw-r--r--spec/ruby/shared/file/executable.rb45
-rw-r--r--spec/ruby/shared/file/executable_real.rb43
-rw-r--r--spec/ruby/shared/file/exist.rb11
-rw-r--r--spec/ruby/shared/file/file.rb8
-rw-r--r--spec/ruby/shared/file/grpowned.rb3
-rw-r--r--spec/ruby/shared/file/identical.rb12
-rw-r--r--spec/ruby/shared/file/readable.rb21
-rw-r--r--spec/ruby/shared/file/readable_real.rb16
-rw-r--r--spec/ruby/shared/file/size.rb2
-rw-r--r--spec/ruby/shared/file/world_readable.rb16
-rw-r--r--spec/ruby/shared/file/world_writable.rb16
-rw-r--r--spec/ruby/shared/file/writable.rb22
-rw-r--r--spec/ruby/shared/file/writable_real.rb24
-rw-r--r--spec/ruby/shared/file/zero.rb8
15 files changed, 58 insertions, 195 deletions
diff --git a/spec/ruby/shared/file/directory.rb b/spec/ruby/shared/file/directory.rb
index 8ba933a601..67e939bf16 100644
--- a/spec/ruby/shared/file/directory.rb
+++ b/spec/ruby/shared/file/directory.rb
@@ -24,12 +24,12 @@ describe :file_directory, shared: true do
end
it "raises a TypeError when passed an Integer" do
- -> { @object.send(@method, 1) }.should raise_error(TypeError)
- -> { @object.send(@method, bignum_value) }.should raise_error(TypeError)
+ lambda { @object.send(@method, 1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, bignum_value) }.should raise_error(TypeError)
end
it "raises a TypeError when passed nil" do
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
end
end
diff --git a/spec/ruby/shared/file/executable.rb b/spec/ruby/shared/file/executable.rb
index baa156de98..5b21fb0d97 100644
--- a/spec/ruby/shared/file/executable.rb
+++ b/spec/ruby/shared/file/executable.rb
@@ -13,7 +13,7 @@ describe :file_executable, shared: true do
rm_r @file1, @file2
end
- platform_is_not :windows, :android do
+ platform_is_not :windows do
it "returns true if named file is executable by the effective user id of the process, otherwise false" do
@object.send(@method, '/etc/passwd').should == false
@object.send(@method, @file1).should == true
@@ -31,48 +31,13 @@ describe :file_executable, shared: true do
end
it "raises an ArgumentError if not passed one argument" do
- -> { @object.send(@method) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method) }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, 1) }.should raise_error(TypeError)
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
- -> { @object.send(@method, false) }.should raise_error(TypeError)
- end
-
- platform_is_not :windows do
- as_superuser do
- context "when run by a superuser" do
- before :each do
- @file = tmp('temp3.txt')
- touch @file
- end
-
- after :each do
- rm_r @file
- end
-
- it "returns true if file owner has permission to execute" do
- File.chmod(0766, @file)
- @object.send(@method, @file).should == true
- end
-
- it "returns true if group has permission to execute" do
- File.chmod(0676, @file)
- @object.send(@method, @file).should == true
- end
-
- it "returns true if other have permission to execute" do
- File.chmod(0667, @file)
- @object.send(@method, @file).should == true
- end
-
- it "return false if nobody has permission to execute" do
- File.chmod(0666, @file)
- @object.send(@method, @file).should == false
- end
- end
- end
+ lambda { @object.send(@method, 1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, false) }.should raise_error(TypeError)
end
end
diff --git a/spec/ruby/shared/file/executable_real.rb b/spec/ruby/shared/file/executable_real.rb
index bf2734ea07..2b1bf8f585 100644
--- a/spec/ruby/shared/file/executable_real.rb
+++ b/spec/ruby/shared/file/executable_real.rb
@@ -29,48 +29,13 @@ describe :file_executable_real, shared: true do
end
it "raises an ArgumentError if not passed one argument" do
- -> { @object.send(@method) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method) }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, 1) }.should raise_error(TypeError)
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
- -> { @object.send(@method, false) }.should raise_error(TypeError)
- end
-
- platform_is_not :windows do
- as_real_superuser do
- context "when run by a real superuser" do
- before :each do
- @file = tmp('temp3.txt')
- touch @file
- end
-
- after :each do
- rm_r @file
- end
-
- it "returns true if file owner has permission to execute" do
- File.chmod(0766, @file)
- @object.send(@method, @file).should == true
- end
-
- it "returns true if group has permission to execute" do
- File.chmod(0676, @file)
- @object.send(@method, @file).should == true
- end
-
- it "returns true if other have permission to execute" do
- File.chmod(0667, @file)
- @object.send(@method, @file).should == true
- end
-
- it "return false if nobody has permission to execute" do
- File.chmod(0666, @file)
- @object.send(@method, @file).should == false
- end
- end
- end
+ lambda { @object.send(@method, 1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, false) }.should raise_error(TypeError)
end
end
diff --git a/spec/ruby/shared/file/exist.rb b/spec/ruby/shared/file/exist.rb
index 67424146c5..1557f01a82 100644
--- a/spec/ruby/shared/file/exist.rb
+++ b/spec/ruby/shared/file/exist.rb
@@ -4,13 +4,18 @@ describe :file_exist, shared: true do
@object.send(@method, 'a_fake_file').should == false
end
+ it "returns true if the file exist using the alias exists?" do
+ @object.send(@method, __FILE__).should == true
+ @object.send(@method, 'a_fake_file').should == false
+ end
+
it "raises an ArgumentError if not passed one argument" do
- -> { @object.send(@method) }.should raise_error(ArgumentError)
- -> { @object.send(@method, __FILE__, __FILE__) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method, __FILE__, __FILE__) }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
end
it "accepts an object that has a #to_path method" do
diff --git a/spec/ruby/shared/file/file.rb b/spec/ruby/shared/file/file.rb
index c1748a88b3..095bd63fff 100644
--- a/spec/ruby/shared/file/file.rb
+++ b/spec/ruby/shared/file/file.rb
@@ -34,12 +34,12 @@ describe :file_file, shared: true do
end
it "raises an ArgumentError if not passed one argument" do
- -> { @object.send(@method) }.should raise_error(ArgumentError)
- -> { @object.send(@method, @null, @file) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method, @null, @file) }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
- -> { @object.send(@method, 1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, 1) }.should raise_error(TypeError)
end
end
diff --git a/spec/ruby/shared/file/grpowned.rb b/spec/ruby/shared/file/grpowned.rb
index 24e84c28e3..91a6483030 100644
--- a/spec/ruby/shared/file/grpowned.rb
+++ b/spec/ruby/shared/file/grpowned.rb
@@ -26,7 +26,8 @@ describe :file_grpowned, shared: true do
@object.send(@method, @file).should == true
else
- skip "No supplementary groups"
+ # No supplementary groups
+ 1.should == 1
end
end
end
diff --git a/spec/ruby/shared/file/identical.rb b/spec/ruby/shared/file/identical.rb
index b7a2904839..e89cd309ea 100644
--- a/spec/ruby/shared/file/identical.rb
+++ b/spec/ruby/shared/file/identical.rb
@@ -9,11 +9,7 @@ describe :file_identical, shared: true do
touch(@file2) { |f| f.puts "file2" }
rm_r @link
- begin
- File.link(@file1, @link)
- rescue Errno::EACCES
- File.symlink(@file1, @link)
- end
+ File.link(@file1, @link)
end
after :each do
@@ -35,12 +31,12 @@ describe :file_identical, shared: true do
end
it "raises an ArgumentError if not passed two arguments" do
- -> { @object.send(@method, @file1, @file2, @link) }.should raise_error(ArgumentError)
- -> { @object.send(@method, @file1) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method, @file1, @file2, @link) }.should raise_error(ArgumentError)
+ lambda { @object.send(@method, @file1) }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed String types" do
- -> { @object.send(@method, 1,1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, 1,1) }.should raise_error(TypeError)
end
it "returns true if both named files are identical" do
diff --git a/spec/ruby/shared/file/readable.rb b/spec/ruby/shared/file/readable.rb
index 7b45e23e36..74f58caaff 100644
--- a/spec/ruby/shared/file/readable.rb
+++ b/spec/ruby/shared/file/readable.rb
@@ -4,12 +4,9 @@ describe :file_readable, shared: true do
platform_is :windows do
@file2 = File.join(ENV["WINDIR"], "system32/drivers/etc/services").tr(File::SEPARATOR, File::ALT_SEPARATOR)
end
- platform_is_not :windows, :android do
+ platform_is_not :windows do
@file2 = "/etc/passwd"
end
- platform_is :android do
- @file2 = "/system/bin/sh"
- end
end
after :each do
@@ -24,22 +21,6 @@ describe :file_readable, shared: true do
it "accepts an object that has a #to_path method" do
@object.send(@method, mock_to_path(@file2)).should == true
end
-
- platform_is_not :windows do
- as_superuser do
- context "when run by a superuser" do
- it "returns true unconditionally" do
- file = tmp('temp.txt')
- touch file
-
- File.chmod(0333, file)
- @object.send(@method, file).should == true
-
- rm_r file
- end
- end
- end
- end
end
describe :file_readable_missing, shared: true do
diff --git a/spec/ruby/shared/file/readable_real.rb b/spec/ruby/shared/file/readable_real.rb
index 32d38bc7a2..b6e53ac76d 100644
--- a/spec/ruby/shared/file/readable_real.rb
+++ b/spec/ruby/shared/file/readable_real.rb
@@ -14,22 +14,6 @@ describe :file_readable_real, shared: true do
it "accepts an object that has a #to_path method" do
File.open(@file,'w') { @object.send(@method, mock_to_path(@file)).should == true }
end
-
- platform_is_not :windows do
- as_real_superuser do
- context "when run by a real superuser" do
- it "returns true unconditionally" do
- file = tmp('temp.txt')
- touch file
-
- File.chmod(0333, file)
- @object.send(@method, file).should == true
-
- rm_r file
- end
- end
- end
- end
end
describe :file_readable_real_missing, shared: true do
diff --git a/spec/ruby/shared/file/size.rb b/spec/ruby/shared/file/size.rb
index 880dfbb612..bb95190fc0 100644
--- a/spec/ruby/shared/file/size.rb
+++ b/spec/ruby/shared/file/size.rb
@@ -56,7 +56,7 @@ describe :file_size_raise_when_missing, shared: true do
end
it "raises an error if file_name doesn't exist" do
- -> {@object.send(@method, @missing)}.should raise_error(Errno::ENOENT)
+ lambda {@object.send(@method, @missing)}.should raise_error(Errno::ENOENT)
end
end
diff --git a/spec/ruby/shared/file/world_readable.rb b/spec/ruby/shared/file/world_readable.rb
index 1dce7a580f..0fddf98b73 100644
--- a/spec/ruby/shared/file/world_readable.rb
+++ b/spec/ruby/shared/file/world_readable.rb
@@ -1,4 +1,4 @@
-require_relative '../../spec_helper'
+require File.expand_path('../../../spec_helper', __FILE__)
describe :file_world_readable, shared: true do
@@ -28,18 +28,18 @@ describe :file_world_readable, shared: true do
end
end
- # We don't specify what the Integer is because it's system dependent
- it "returns an Integer if the file is chmod 644" do
+ # We don't specify what the Fixnum is because it's system dependent
+ it "returns a Fixnum if the file is chmod 644" do
File.chmod(0644, @file)
- @object.world_readable?(@file).should be_an_instance_of(Integer)
+ @object.world_readable?(@file).should be_an_instance_of(Fixnum)
end
- it "returns an Integer if the file is a directory and chmod 644" do
- dir = tmp(rand().to_s + '-ww')
+ it "returns a Fixnum if the file is a directory and chmod 644" do
+ dir = rand().to_s + '-ww'
Dir.mkdir(dir)
- Dir.should.exist?(dir)
+ Dir.exist?(dir).should be_true
File.chmod(0644, dir)
- @object.world_readable?(dir).should be_an_instance_of(Integer)
+ @object.world_readable?(dir).should be_an_instance_of(Fixnum)
Dir.rmdir(dir)
end
diff --git a/spec/ruby/shared/file/world_writable.rb b/spec/ruby/shared/file/world_writable.rb
index 7ed252dcf3..43ac23a997 100644
--- a/spec/ruby/shared/file/world_writable.rb
+++ b/spec/ruby/shared/file/world_writable.rb
@@ -1,4 +1,4 @@
-require_relative '../../spec_helper'
+require File.expand_path('../../../spec_helper', __FILE__)
describe :file_world_writable, shared: true do
@@ -27,18 +27,18 @@ describe :file_world_writable, shared: true do
@object.world_writable?(@file).should be_nil
end
- # We don't specify what the Integer is because it's system dependent
- it "returns an Integer if the file is chmod 777" do
+ # We don't specify what the Fixnum is because it's system dependent
+ it "returns a Fixnum if the file is chmod 777" do
File.chmod(0777, @file)
- @object.world_writable?(@file).should be_an_instance_of(Integer)
+ @object.world_writable?(@file).should be_an_instance_of(Fixnum)
end
- it "returns an Integer if the file is a directory and chmod 777" do
- dir = tmp(rand().to_s + '-ww')
+ it "returns a Fixnum if the file is a directory and chmod 777" do
+ dir = rand().to_s + '-ww'
Dir.mkdir(dir)
- Dir.should.exist?(dir)
+ Dir.exist?(dir).should be_true
File.chmod(0777, dir)
- @object.world_writable?(dir).should be_an_instance_of(Integer)
+ @object.world_writable?(dir).should be_an_instance_of(Fixnum)
Dir.rmdir(dir)
end
end
diff --git a/spec/ruby/shared/file/writable.rb b/spec/ruby/shared/file/writable.rb
index 65ea2c1781..e8296928f3 100644
--- a/spec/ruby/shared/file/writable.rb
+++ b/spec/ruby/shared/file/writable.rb
@@ -8,10 +8,8 @@ describe :file_writable, shared: true do
end
it "returns true if named file is writable by the effective user id of the process, otherwise false" do
- platform_is_not :windows, :android do
- as_user do
- @object.send(@method, "/etc/passwd").should == false
- end
+ platform_is_not :windows do
+ @object.send(@method, "/etc/passwd").should == false
end
File.open(@file,'w') { @object.send(@method, @file).should == true }
end
@@ -19,22 +17,6 @@ describe :file_writable, shared: true do
it "accepts an object that has a #to_path method" do
File.open(@file,'w') { @object.send(@method, mock_to_path(@file)).should == true }
end
-
- platform_is_not :windows do
- as_superuser do
- context "when run by a superuser" do
- it "returns true unconditionally" do
- file = tmp('temp.txt')
- touch file
-
- File.chmod(0555, file)
- @object.send(@method, file).should == true
-
- rm_r file
- end
- end
- end
- end
end
describe :file_writable_missing, shared: true do
diff --git a/spec/ruby/shared/file/writable_real.rb b/spec/ruby/shared/file/writable_real.rb
index b4a0a58c6e..3730befb7a 100644
--- a/spec/ruby/shared/file/writable_real.rb
+++ b/spec/ruby/shared/file/writable_real.rb
@@ -16,29 +16,13 @@ describe :file_writable_real, shared: true do
end
it "raises an ArgumentError if not passed one argument" do
- -> { File.writable_real? }.should raise_error(ArgumentError)
+ lambda { File.writable_real? }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, 1) }.should raise_error(TypeError)
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
- -> { @object.send(@method, false) }.should raise_error(TypeError)
- end
-
- platform_is_not :windows do
- as_real_superuser do
- context "when run by a real superuser" do
- it "returns true unconditionally" do
- file = tmp('temp.txt')
- touch file
-
- File.chmod(0555, file)
- @object.send(@method, file).should == true
-
- rm_r file
- end
- end
- end
+ lambda { @object.send(@method, 1) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, false) }.should raise_error(TypeError)
end
end
diff --git a/spec/ruby/shared/file/zero.rb b/spec/ruby/shared/file/zero.rb
index 6a9399a021..cf014d4722 100644
--- a/spec/ruby/shared/file/zero.rb
+++ b/spec/ruby/shared/file/zero.rb
@@ -40,13 +40,13 @@ describe :file_zero, shared: true do
end
it "raises an ArgumentError if not passed one argument" do
- -> { File.zero? }.should raise_error(ArgumentError)
+ lambda { File.zero? }.should raise_error(ArgumentError)
end
it "raises a TypeError if not passed a String type" do
- -> { @object.send(@method, nil) }.should raise_error(TypeError)
- -> { @object.send(@method, true) }.should raise_error(TypeError)
- -> { @object.send(@method, false) }.should raise_error(TypeError)
+ lambda { @object.send(@method, nil) }.should raise_error(TypeError)
+ lambda { @object.send(@method, true) }.should raise_error(TypeError)
+ lambda { @object.send(@method, false) }.should raise_error(TypeError)
end
it "returns true inside a block opening a file if it is empty" do