diff options
Diffstat (limited to 'spec/ruby/core/file/birthtime_spec.rb')
| -rw-r--r-- | spec/ruby/core/file/birthtime_spec.rb | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/spec/ruby/core/file/birthtime_spec.rb b/spec/ruby/core/file/birthtime_spec.rb index 9720ede834..039fd7572c 100644 --- a/spec/ruby/core/file/birthtime_spec.rb +++ b/spec/ruby/core/file/birthtime_spec.rb @@ -1,56 +1,56 @@ -require File.expand_path('../../../spec_helper', __FILE__) +require_relative '../../spec_helper' -describe "File.birthtime" do - before :each do - @file = __FILE__ - end +platform_is :windows, :darwin, :freebsd, :netbsd, :linux do + not_implemented_messages = [ + "birthtime() function is unimplemented", # unsupported OS/version + "birthtime is unimplemented", # unsupported filesystem + ] - after :each do - @file = nil - end + describe "File.birthtime" do + before :each do + @file = __FILE__ + end + + after :each do + @file = nil + end - platform_is :windows, :darwin, :freebsd, :netbsd do it "returns the birth time for the named file as a Time object" do File.birthtime(@file) - File.birthtime(@file).should be_kind_of(Time) + File.birthtime(@file).should.is_a?(Time) + rescue NotImplementedError => e + e.message.should.start_with?(*not_implemented_messages) end it "accepts an object that has a #to_path method" do + File.birthtime(@file) # Avoid to failure of mock object with old Kernel and glibc File.birthtime(mock_to_path(@file)) + rescue NotImplementedError => e + e.message.should.start_with?(*not_implemented_messages) end it "raises an Errno::ENOENT exception if the file is not found" do - lambda { File.birthtime('bogus') }.should raise_error(Errno::ENOENT) + -> { File.birthtime('bogus') }.should.raise(Errno::ENOENT) + rescue NotImplementedError => e + e.message.should.start_with?(*not_implemented_messages) end end - platform_is :linux, :openbsd do - it "raises an NotImplementedError" do - lambda { File.birthtime(@file) }.should raise_error(NotImplementedError) + describe "File#birthtime" do + before :each do + @file = File.open(__FILE__) end - end -end -describe "File#birthtime" do - before :each do - @file = File.open(__FILE__) - end - - after :each do - @file.close - @file = nil - end + after :each do + @file.close + @file = nil + end - platform_is :windows, :darwin, :freebsd, :netbsd do it "returns the birth time for self" do @file.birthtime - @file.birthtime.should be_kind_of(Time) - end - end - - platform_is :linux, :openbsd do - it "raises an NotImplementedError" do - lambda { @file.birthtime }.should raise_error(NotImplementedError) + @file.birthtime.should.is_a?(Time) + rescue NotImplementedError => e + e.message.should.start_with?(*not_implemented_messages) end end end |
