spec/stat_spec.rb in ffi-stat-0.0.2 vs spec/stat_spec.rb in ffi-stat-0.2.0

- old
+ new

@@ -2,81 +2,23 @@ require "minitest/autorun" require "ffi/stat" describe FFI::Stat do it "can stat a file" do - file = File.expand_path __FILE__ + skip unless FFI::Stat.respond_to?(:stat) - stat_struct = FFI::Stat.stat file + ffi_stat = FFI::Stat.stat(__FILE__) + rb_stat = File.stat(__FILE__) - stat_struct[:st_dev ].wont_be_nil - stat_struct[:st_ino ].wont_be_nil - stat_struct[:st_mode ].wont_be_nil - stat_struct[:st_nlink ].wont_be_nil - stat_struct[:st_uid ].wont_be_nil - stat_struct[:st_gid ].wont_be_nil - stat_struct[:st_rdev ].wont_be_nil - stat_struct[:st_size ].wont_be_nil + ffi_stat[:st_dev].must_equal(rb_stat.dev) + ffi_stat[:st_ino].must_equal(rb_stat.ino) + ffi_stat[:st_mode].must_equal(rb_stat.mode) + ffi_stat[:st_nlink].must_equal(rb_stat.nlink) + ffi_stat[:st_uid].must_equal(rb_stat.uid) + ffi_stat[:st_gid].must_equal(rb_stat.gid) + ffi_stat[:st_rdev].must_equal(rb_stat.rdev) - stat_struct[:st_atimespec][:tv_sec ].wont_be_nil - stat_struct[:st_atimespec][:tv_nsec].wont_be_nil - stat_struct[:st_mtimespec][:tv_sec ].wont_be_nil - stat_struct[:st_mtimespec][:tv_nsec].wont_be_nil - stat_struct[:st_ctimespec][:tv_sec ].wont_be_nil - stat_struct[:st_ctimespec][:tv_nsec].wont_be_nil - - stat_struct[:st_blksize ].wont_be_nil - stat_struct[:st_blocks ].wont_be_nil - end - - it "can lstat a file" do - file = File.expand_path __FILE__ - - stat_struct = FFI::Stat.lstat file - - stat_struct[:st_dev ].wont_be_nil - stat_struct[:st_ino ].wont_be_nil - stat_struct[:st_mode ].wont_be_nil - stat_struct[:st_nlink ].wont_be_nil - stat_struct[:st_uid ].wont_be_nil - stat_struct[:st_gid ].wont_be_nil - stat_struct[:st_rdev ].wont_be_nil - stat_struct[:st_size ].wont_be_nil - - stat_struct[:st_atimespec][:tv_sec ].wont_be_nil - stat_struct[:st_atimespec][:tv_nsec].wont_be_nil - stat_struct[:st_mtimespec][:tv_sec ].wont_be_nil - stat_struct[:st_mtimespec][:tv_nsec].wont_be_nil - stat_struct[:st_ctimespec][:tv_sec ].wont_be_nil - stat_struct[:st_ctimespec][:tv_nsec].wont_be_nil - - stat_struct[:st_blksize ].wont_be_nil - stat_struct[:st_blocks ].wont_be_nil - end - - it "can fstat a file descriptor" do - file = File.open(__FILE__) - - stat_struct = FFI::Stat.fstat file.fileno - - stat_struct[:st_dev ].wont_be_nil - stat_struct[:st_ino ].wont_be_nil - stat_struct[:st_mode ].wont_be_nil - stat_struct[:st_nlink ].wont_be_nil - stat_struct[:st_uid ].wont_be_nil - stat_struct[:st_gid ].wont_be_nil - stat_struct[:st_rdev ].wont_be_nil - stat_struct[:st_size ].wont_be_nil - - stat_struct[:st_atimespec][:tv_sec ].wont_be_nil - stat_struct[:st_atimespec][:tv_nsec].wont_be_nil - stat_struct[:st_mtimespec][:tv_sec ].wont_be_nil - stat_struct[:st_mtimespec][:tv_nsec].wont_be_nil - stat_struct[:st_ctimespec][:tv_sec ].wont_be_nil - stat_struct[:st_ctimespec][:tv_nsec].wont_be_nil - - stat_struct[:st_blksize ].wont_be_nil - stat_struct[:st_blocks ].wont_be_nil - - file.close + ffi_stat[:st_size].must_equal(rb_stat.size) + ffi_stat[:st_blksize].must_equal(rb_stat.blksize) + ffi_stat[:st_blocks].must_equal(rb_stat.blocks) end end