diff options
Diffstat (limited to 'spec/ruby/core/file/mtime_spec.rb')
| -rw-r--r-- | spec/ruby/core/file/mtime_spec.rb | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/spec/ruby/core/file/mtime_spec.rb b/spec/ruby/core/file/mtime_spec.rb index 56b7e4464e..d83725e25d 100644 --- a/spec/ruby/core/file/mtime_spec.rb +++ b/spec/ruby/core/file/mtime_spec.rb @@ -1,4 +1,4 @@ -require File.expand_path('../../../spec_helper', __FILE__) +require_relative '../../spec_helper' describe "File.mtime" do before :each do @@ -11,25 +11,30 @@ describe "File.mtime" do end it "returns the modification Time of the file" do - File.mtime(@filename).should be_kind_of(Time) - File.mtime(@filename).should be_close(@mtime, 2.0) - end - - platform_is :linux do - it "returns the modification Time of the file with microseconds" do - supports_subseconds = Integer(`stat -c%y '#{__FILE__}'`[/\.(\d+)/, 1], 10) - if supports_subseconds != 0 - expected_time = Time.at(Time.now.to_i + 0.123456) - File.utime 0, expected_time, @filename - File.mtime(@filename).usec.should == expected_time.usec - else - File.mtime(__FILE__).usec.should == 0 + File.mtime(@filename).should.is_a?(Time) + File.mtime(@filename).should be_close(@mtime, TIME_TOLERANCE) + end + + platform_is :linux, :windows do + unless ENV.key?('TRAVIS') # https://bugs.ruby-lang.org/issues/17926 + it "returns the modification Time of the file with microseconds" do + supports_subseconds = Integer(`stat -c%y '#{__FILE__}'`[/\.(\d{1,6})/, 1], 10) + if supports_subseconds != 0 + expected_time = Time.at(Time.now.to_i + 0.123456) + File.utime 0, expected_time, @filename + File.mtime(@filename).usec.should == expected_time.usec + else + File.mtime(__FILE__).usec.should == 0 + end + rescue Errno::ENOENT => e + # Windows don't have stat command. + skip e.message end end end it "raises an Errno::ENOENT exception if the file is not found" do - lambda { File.mtime('bogus') }.should raise_error(Errno::ENOENT) + -> { File.mtime('bogus') }.should.raise(Errno::ENOENT) end end @@ -45,7 +50,7 @@ describe "File#mtime" do end it "returns the modification Time of the file" do - @f.mtime.should be_kind_of(Time) + @f.mtime.should.is_a?(Time) end end |
