diff options
Diffstat (limited to 'spec/ruby/shared/file/grpowned.rb')
| -rw-r--r-- | spec/ruby/shared/file/grpowned.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/ruby/shared/file/grpowned.rb b/spec/ruby/shared/file/grpowned.rb new file mode 100644 index 0000000000..07a5a69e1a --- /dev/null +++ b/spec/ruby/shared/file/grpowned.rb @@ -0,0 +1,39 @@ +describe :file_grpowned, shared: true do + before :each do + @file = tmp('i_exist') + touch(@file) { |f| f.puts "file_content" } + File.chown(nil, Process.gid, @file) rescue nil + end + + after :each do + rm_r @file + end + + platform_is_not :windows do + it "returns true if the file exist" do + @object.send(@method, @file).should == true + end + + it "accepts an object that has a #to_path method" do + @object.send(@method, mock_to_path(@file)).should == true + end + + it 'takes non primary groups into account' do + group = (Process.groups - [Process.egid]).first + + if group + File.chown(nil, group, @file) + + @object.send(@method, @file).should == true + else + skip "No supplementary groups" + end + end + end + + platform_is :windows do + it "returns false if the file exist" do + @object.send(@method, @file).should == false + end + end +end |
