2019-11-30 15:26:52 -05:00
|
|
|
require_relative '../../spec_helper'
|
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
describe "File.lutime" do
|
|
|
|
platform_is_not :windows do
|
|
|
|
before :each do
|
|
|
|
@atime = Time.utc(2000)
|
|
|
|
@mtime = Time.utc(2001)
|
|
|
|
@file = tmp("specs_lutime_file")
|
|
|
|
@symlink = tmp("specs_lutime_symlink")
|
|
|
|
touch @file
|
|
|
|
File.symlink(@file, @symlink)
|
|
|
|
end
|
2019-11-30 15:26:52 -05:00
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
after :each do
|
|
|
|
rm_r @file, @symlink
|
|
|
|
end
|
2019-11-30 15:26:52 -05:00
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
it "sets the access and modification time for a regular file" do
|
|
|
|
File.lutime(@atime, @mtime, @file)
|
|
|
|
stat = File.stat(@file)
|
|
|
|
stat.atime.should == @atime
|
|
|
|
stat.mtime.should === @mtime
|
|
|
|
end
|
2019-11-30 15:26:52 -05:00
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
it "sets the access and modification time for a symlink" do
|
|
|
|
original = File.stat(@file)
|
2019-11-30 15:26:52 -05:00
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
File.lutime(@atime, @mtime, @symlink)
|
|
|
|
stat = File.lstat(@symlink)
|
|
|
|
stat.atime.should == @atime
|
|
|
|
stat.mtime.should === @mtime
|
2019-11-30 15:26:52 -05:00
|
|
|
|
2020-02-08 05:43:27 -05:00
|
|
|
file = File.stat(@file)
|
|
|
|
file.atime.should == original.atime
|
|
|
|
file.mtime.should == original.mtime
|
2019-11-30 15:26:52 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|