Updated RubySpec source to d6754b35 except language/def_spec.rb.
[rbx.git] / spec / frozen / 1.8 / shared / file / writable_real.rb
blob453fb509ee1d97760438cd8e5adcd3dfb100ad8c
1 shared :file_writable_real do |cmd, klass, name|
2   describe "#{name || "#{klass}.#{cmd}"}" do
3     before :each do
4       @file = tmp('i_exist')
5     end
7     after :each do
8       File.delete(@file) if File.exist?(@file)
9     end
11     it "returns true if named file is writable by the real user id of the process, otherwise false" do
12       File.open(@file,'w') { klass.send(cmd, @file).should == true }
13     end
15     it "raises an ArgumentError if not passed one argument" do
16       lambda { File.writable_real?        }.should raise_error(ArgumentError)
17     end
19     it "raises a TypeError if not passed a String type" do
20       lambda { klass.send(cmd, 1)     }.should raise_error(TypeError)
21       lambda { klass.send(cmd, nil)   }.should raise_error(TypeError)
22       lambda { klass.send(cmd, false) }.should raise_error(TypeError)
23     end 
24   end
25 end
27 shared :file_writable_real_missing do |cmd, klass, name|
28   describe "#{name || "#{klass}.#{cmd}"}" do
29     it "returns false if the file does not exist" do
30       klass.send(cmd, 'fake_file').should == false
31     end
32   end
33 end