diff options
Diffstat (limited to 'jni/ruby/test/rubygems/test_gem_util.rb')
-rw-r--r-- | jni/ruby/test/rubygems/test_gem_util.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/jni/ruby/test/rubygems/test_gem_util.rb b/jni/ruby/test/rubygems/test_gem_util.rb new file mode 100644 index 0000000..414487a --- /dev/null +++ b/jni/ruby/test/rubygems/test_gem_util.rb @@ -0,0 +1,31 @@ +require 'rubygems/test_case' +require 'rubygems/util' + +class TestGemUtil < Gem::TestCase + + def test_class_popen + assert_equal "0\n", Gem::Util.popen(Gem.ruby, '-e', 'p 0') + + assert_raises Errno::ECHILD do + Process.wait(-1) + end + end + + def test_silent_system + assert_silent do + Gem::Util.silent_system Gem.ruby, '-e', 'puts "hello"; warn "hello"' + end + end + + def test_traverse_parents + FileUtils.mkdir_p 'a/b/c' + + enum = Gem::Util.traverse_parents 'a/b/c' + + assert_equal File.join(@tempdir, 'a/b/c'), enum.next + assert_equal File.join(@tempdir, 'a/b'), enum.next + assert_equal File.join(@tempdir, 'a'), enum.next + end + +end + |