summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-15 13:14:48 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-10-15 13:14:48 +0000
commit32569104e121e6dc7363acf37b5aef766bd04d4d (patch)
tree19750e8770748ef40b914b199f66e2397deb8d81 /test
parenta17cb167ea5e0f0690a94d8f39b821a43aebd456 (diff)
envutil.rb: file_assertion
* test/ruby/envutil.rb (Test::Unit::Assertions#file_assertion): rewrite file assertions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/ruby/envutil.rb21
-rw-r--r--test/ruby/test_file.rb4
-rw-r--r--test/ruby/test_file_exhaustive.rb24
-rw-r--r--test/ruby/test_m17n.rb1
-rw-r--r--test/ruby/test_process.rb4
-rw-r--r--test/ruby/test_require.rb2
-rw-r--r--test/ruby/test_rubyoptions.rb2
-rw-r--r--test/ruby/test_whileuntil.rb2
8 files changed, 37 insertions, 23 deletions
diff --git a/test/ruby/envutil.rb b/test/ruby/envutil.rb
index b170c46c83..d6f46f4401 100644
--- a/test/ruby/envutil.rb
+++ b/test/ruby/envutil.rb
@@ -225,12 +225,25 @@ module Test
assert(1.0/f == -Float::INFINITY, "#{f} is not -0.0")
end
- def assert_file(predicate, path)
- assert(File.__send__(predicate, path), "Expected file #{path.inspect} to be #{predicate}")
+ def file_assertion
+ FileAssertion
end
- def assert_file_not(predicate, path)
- assert(!File.__send__(predicate, path), "Expected file #{path.inspect} not to be #{predicate}")
+ class << (FileAssertion = Object.new)
+ include Assertions
+ def assert_file_predicate(predicate, *args)
+ if /\Anot_/ =~ predicate
+ predicate = $'
+ neg = " not"
+ end
+ result = File.__send__(predicate, *args)
+ result = !result if neg
+ mesg = "Expected file " << args.shift.inspect
+ mesg << mu_pp(args) unless args.empty?
+ mesg << "#{neg} to be #{predicate}"
+ assert(result, mesg)
+ end
+ alias method_missing assert_file_predicate
end
end
end
diff --git a/test/ruby/test_file.rb b/test/ruby/test_file.rb
index 41483cee3a..e005dc8d69 100644
--- a/test/ruby/test_file.rb
+++ b/test/ruby/test_file.rb
@@ -44,7 +44,7 @@ class TestFile < Test::Unit::TestCase
bug6487 = '[ruby-core:45203]'
f = Tempfile.new(__method__.to_s)
f.close
- assert_file(:exist?, f.path)
+ file_assertion.exist?(f.path)
assert_nothing_raised(bug6487) {File.read(f.path, mode: 'r:utf-8')}
assert_nothing_raised(bug6487) {File.read(f.path, mode: 'r:bom|utf-8')}
f.close(true)
@@ -356,7 +356,7 @@ class TestFile < Test::Unit::TestCase
assert_raise(ArgumentError) do
open(path + "\0bar", "w") {}
end
- assert_file_not(:exist?, path)
+ file_assertion.not_exist?(path)
end
end
end
diff --git a/test/ruby/test_file_exhaustive.rb b/test/ruby/test_file_exhaustive.rb
index 76cf615d5b..e13c98c44a 100644
--- a/test/ruby/test_file_exhaustive.rb
+++ b/test/ruby/test_file_exhaustive.rb
@@ -120,7 +120,7 @@ class TestFileExhaustive < Test::Unit::TestCase
Dir.mktmpdir do |dir|
prefix = File.join(dir, "...a")
Dir.mkdir(prefix)
- assert_file(:exist?, prefix)
+ file_assertion.exist?(prefix)
assert_nothing_raised { File.stat(prefix) }
@@ -170,9 +170,9 @@ class TestFileExhaustive < Test::Unit::TestCase
end
def test_exist_p
- assert_file(:exist?, @dir)
- assert_file(:exist?, @file)
- assert_file_not(:exist?, @nofile)
+ file_assertion.exist?(@dir)
+ file_assertion.exist?(@file)
+ file_assertion.not_exist?(@nofile)
end
def test_readable_p
@@ -399,8 +399,8 @@ class TestFileExhaustive < Test::Unit::TestCase
def test_rename
assert_equal(0, File.rename(@file, @nofile))
- assert_file_not(:exist?, @file)
- assert_file(:exist?, @nofile)
+ file_assertion.not_exist?(@file)
+ file_assertion.exist?(@nofile)
assert_equal(0, File.rename(@nofile, @file))
assert_raise(Errno::ENOENT) { File.rename(@nofile, @file) }
end
@@ -787,21 +787,21 @@ class TestFileExhaustive < Test::Unit::TestCase
def test_truncate
assert_equal(0, File.truncate(@file, 1))
- assert_file(:exist?, @file)
+ file_assertion.exist?(@file)
assert_equal(1, File.size(@file))
assert_equal(0, File.truncate(@file, 0))
- assert_file(:exist?, @file)
- assert_file(:zero?, @file)
+ file_assertion.exist?(@file)
+ file_assertion.zero?(@file)
make_file("foo", @file)
assert_raise(Errno::ENOENT) { File.truncate(@nofile, 0) }
f = File.new(@file, "w")
assert_equal(0, f.truncate(2))
- assert_file(:exist?, @file)
+ file_assertion.exist?(@file)
assert_equal(2, File.size(@file))
assert_equal(0, f.truncate(0))
- assert_file(:exist?, @file)
- assert_file(:zero?, @file)
+ file_assertion.exist?(@file)
+ file_assertion.zero?(@file)
f.close
make_file("foo", @file)
diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb
index 1d76c7dd24..87563349f7 100644
--- a/test/ruby/test_m17n.rb
+++ b/test/ruby/test_m17n.rb
@@ -1460,6 +1460,7 @@ class TestM17N < Test::Unit::TestCase
def test_combchar_codepoint
assert_equal([0x30BB, 0x309A], "\u30BB\u309A".codepoints.to_a)
+ assert_equal([0x30BB, 0x309A], "\u30BB\u309A".codepoints.to_a)
end
def each_encoding(*strings)
diff --git a/test/ruby/test_process.rb b/test/ruby/test_process.rb
index b0a43a1bd5..83f074af81 100644
--- a/test/ruby/test_process.rb
+++ b/test/ruby/test_process.rb
@@ -403,8 +403,8 @@ class TestProcess < Test::Unit::TestCase
with_tmpchdir {|d|
Dir.mkdir "foo"
system(*PWD, :chdir => "foo", :out => "open_chdir_test")
- assert_file(:exist?, "open_chdir_test")
- assert_file_not(:exist?, "foo/open_chdir_test")
+ file_assertion.exist?("open_chdir_test")
+ file_assertion.not_exist?("foo/open_chdir_test")
assert_equal("#{d}/foo", File.read("open_chdir_test").chomp)
}
end
diff --git a/test/ruby/test_require.rb b/test/ruby/test_require.rb
index 8e5b8d1582..25b49762f2 100644
--- a/test/ruby/test_require.rb
+++ b/test/ruby/test_require.rb
@@ -109,7 +109,7 @@ class TestRequire < Test::Unit::TestCase
Dir.mktmpdir do |tmp|
req = File.join(tmp, "very_long_file_name.rb")
File.write(req, "p :ok\n")
- assert_file(:exist?, req)
+ file_assertion.exist?(req)
req[/.rb$/i] = ""
assert_in_out_err(['--disable-gems'], <<-INPUT, %w(:ok), [])
require "#{req}"
diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb
index c509f22d8d..0cf0f597b4 100644
--- a/test/ruby/test_rubyoptions.rb
+++ b/test/ruby/test_rubyoptions.rb
@@ -388,7 +388,7 @@ class TestRubyOptions < Test::Unit::TestCase
rubybin = Regexp.quote(EnvUtil.rubybin)
pat = Regexp.quote(notexist)
bug1573 = '[ruby-core:23717]'
- assert_file_not(:exist?, notexist)
+ file_assertion.not_exist?(notexist)
assert_in_out_err(["-r", notexist, "-ep"], "", [], /.* -- #{pat} \(LoadError\)/, bug1573)
assert_in_out_err([notexist], "", [], /#{rubybin}:.* -- #{pat} \(LoadError\)/, bug1573)
end
diff --git a/test/ruby/test_whileuntil.rb b/test/ruby/test_whileuntil.rb
index 5f48f2fd50..6ce2fa30c6 100644
--- a/test/ruby/test_whileuntil.rb
+++ b/test/ruby/test_whileuntil.rb
@@ -69,7 +69,7 @@ class TestWhileuntil < Test::Unit::TestCase
tmp.close
File.unlink tmpfilename or `/bin/rm -f "#{tmpfilename}"`
- assert_file_not(:exist?, tmpfilename)
+ file_assertion.not_exist?(tmpfilename)
}
end