diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-09 09:03:32 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-07-09 09:03:32 +0000 |
commit | 3488db9455a65d080d0852ef4716f0c58a3bb52f (patch) | |
tree | f11fe53d7e51ffbc05123d7384cd8a7c48e6ae06 /test/fileutils/fileasserts.rb | |
parent | 3ac1eeb34dd618592cfc86065e5a875f716645dc (diff) | |
download | ruby-3488db9455a65d080d0852ef4716f0c58a3bb52f.tar.gz |
* test/fileutils/fileasserts.rb
(Test::Unit::FileAssertions#{assert_filemode,assert_equal_timestamp}):
New utility assertion methods for testing file modes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/fileutils/fileasserts.rb')
-rw-r--r-- | test/fileutils/fileasserts.rb | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/fileutils/fileasserts.rb b/test/fileutils/fileasserts.rb index e78deee06c..c60606ee7f 100644 --- a/test/fileutils/fileasserts.rb +++ b/test/fileutils/fileasserts.rb @@ -67,6 +67,27 @@ EOT assert_equal(expected.tv_sec, actual.tv_sec, full_message) end + def assert_filemode(expected, file, message=nil, mask: 07777) + width = ('%o' % mask).size + actual = File.stat(file).mode & mask + assert expected == actual, <<EOT +File mode of "#{file}" unexpected: + Expected: <#{'%0*o' % [width, expected]}> + Actual: <#{'%0*o' % [width, actual]}> +EOT + end + + def assert_equal_filemode(file1, file2, message=nil, mask: 07777) + mode1, mode2 = [file1, file2].map { |file| + File.stat(file).mode & mask + } + width = ('%o' % mask).size + assert mode1 == mode2, <<EOT +File modes expected to be equal: + <#{'%0*o' % [width, mode1]}>: "#{file1}" + <#{'%0*o' % [width, mode2]}>: "#{file2}" +EOT + end end end end |