diff options
Diffstat (limited to 'spec/ruby/core/file/shared/path.rb')
| -rw-r--r-- | spec/ruby/core/file/shared/path.rb | 33 |
1 files changed, 20 insertions, 13 deletions
diff --git a/spec/ruby/core/file/shared/path.rb b/spec/ruby/core/file/shared/path.rb index d964acc855..6c6f7d4234 100644 --- a/spec/ruby/core/file/shared/path.rb +++ b/spec/ruby/core/file/shared/path.rb @@ -1,7 +1,7 @@ describe :file_path, shared: true do before :each do - @name = "file_to_path" - @path = tmp(@name) + @path = tmp("file_to_path") + @name = File.basename(@path) touch @path end @@ -12,7 +12,24 @@ describe :file_path, shared: true do it "returns a String" do @file = File.new @path - @file.send(@method).should be_an_instance_of(String) + @file.send(@method).should.instance_of?(String) + end + + it "returns a different String on every call" do + @file = File.new @path + path1 = @file.send(@method) + path2 = @file.send(@method) + path1.should == path2 + path1.should_not.equal?(path2) + end + + it "returns a mutable String" do + @file = File.new @path.dup.freeze + path = @file.send(@method) + path.should == @path + path.should_not.frozen? + path << "test" + @file.send(@method).should == @path end it "calls to_str on argument and returns exact value" do @@ -60,16 +77,6 @@ describe :file_path, shared: true do after :each do rm_r @dir end - - it "raises IOError if file was opened with File::TMPFILE" do - begin - File.open(@dir, File::RDWR | File::TMPFILE) do |f| - -> { f.send(@method) }.should raise_error(IOError) - end - rescue Errno::EOPNOTSUPP, Errno::EINVAL, Errno::EISDIR - skip "no support from the filesystem" - end - end end end end |
