diff options
Diffstat (limited to 'spec/ruby/shared/file')
| -rw-r--r-- | spec/ruby/shared/file/directory.rb | 6 | ||||
| -rw-r--r-- | spec/ruby/shared/file/executable.rb | 45 | ||||
| -rw-r--r-- | spec/ruby/shared/file/executable_real.rb | 43 | ||||
| -rw-r--r-- | spec/ruby/shared/file/exist.rb | 11 | ||||
| -rw-r--r-- | spec/ruby/shared/file/file.rb | 8 | ||||
| -rw-r--r-- | spec/ruby/shared/file/grpowned.rb | 3 | ||||
| -rw-r--r-- | spec/ruby/shared/file/identical.rb | 12 | ||||
| -rw-r--r-- | spec/ruby/shared/file/readable.rb | 21 | ||||
| -rw-r--r-- | spec/ruby/shared/file/readable_real.rb | 16 | ||||
| -rw-r--r-- | spec/ruby/shared/file/size.rb | 2 | ||||
| -rw-r--r-- | spec/ruby/shared/file/world_readable.rb | 16 | ||||
| -rw-r--r-- | spec/ruby/shared/file/world_writable.rb | 16 | ||||
| -rw-r--r-- | spec/ruby/shared/file/writable.rb | 22 | ||||
| -rw-r--r-- | spec/ruby/shared/file/writable_real.rb | 24 | ||||
| -rw-r--r-- | spec/ruby/shared/file/zero.rb | 8 |
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 |
