diff options
Diffstat (limited to 'trunk/test/fileutils/fileasserts.rb')
-rw-r--r-- | trunk/test/fileutils/fileasserts.rb | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/trunk/test/fileutils/fileasserts.rb b/trunk/test/fileutils/fileasserts.rb new file mode 100644 index 0000000000..41469a6ac6 --- /dev/null +++ b/trunk/test/fileutils/fileasserts.rb @@ -0,0 +1,100 @@ +# $Id$ + +module Test + module Unit + module Assertions # redefine + + def assert_same_file(from, to) + _wrap_assertion { + assert_block("file #{from} != #{to}") { + File.read(from) == File.read(to) + } + } + end + + def assert_same_entry(from, to) + a = File.stat(from) + b = File.stat(to) + assert_equal a.mode, b.mode, "mode #{a.mode} != #{b.mode}" + #assert_equal a.atime, b.atime + assert_equal_timestamp a.mtime, b.mtime, "mtime #{a.mtime} != #{b.mtime}" + assert_equal a.uid, b.uid, "uid #{a.uid} != #{b.uid}" + assert_equal a.gid, b.gid, "gid #{a.gid} != #{b.gid}" + end + + def assert_file_exist(path) + _wrap_assertion { + assert_block("file not exist: #{path}") { + File.exist?(path) + } + } + end + + def assert_file_not_exist(path) + _wrap_assertion { + assert_block("file not exist: #{path}") { + not File.exist?(path) + } + } + end + + def assert_directory(path) + _wrap_assertion { + assert_block("is not directory: #{path}") { + File.directory?(path) + } + } + end + + def assert_symlink(path) + _wrap_assertion { + assert_block("is not a symlink: #{path}") { + File.symlink?(path) + } + } + end + + def assert_not_symlink(path) + _wrap_assertion { + assert_block("is a symlink: #{path}") { + not File.symlink?(path) + } + } + end + + def assert_equal_time(expected, actual, message=nil) + _wrap_assertion { + expected_str = expected.to_s + actual_str = actual.to_s + if expected_str == actual_str + expected_str << " (nsec=#{expected.nsec})" + actual_str << " (nsec=#{actual.nsec})" + end + full_message = build_message(message, <<EOT) +<#{expected_str}> expected but was +<#{actual_str}>. +EOT + assert_block(full_message) { expected == actual } + } + end + + def assert_equal_timestamp(expected, actual, message=nil) + _wrap_assertion { + expected_str = expected.to_s + actual_str = actual.to_s + if expected_str == actual_str + expected_str << " (nsec=#{expected.nsec})" + actual_str << " (nsec=#{actual.nsec})" + end + full_message = build_message(message, <<EOT) +<#{expected_str}> expected but was +<#{actual_str}>. +EOT + # subsecond timestamp is not portable. + assert_block(full_message) { expected.tv_sec == actual.tv_sec } + } + end + + end + end +end |