diff options
Diffstat (limited to 'test/rubygems/test_gem_util.rb')
-rw-r--r-- | test/rubygems/test_gem_util.rb | 55 |
1 files changed, 24 insertions, 31 deletions
diff --git a/test/rubygems/test_gem_util.rb b/test/rubygems/test_gem_util.rb index e0db5c283d..608210a903 100644 --- a/test/rubygems/test_gem_util.rb +++ b/test/rubygems/test_gem_util.rb @@ -1,11 +1,12 @@ # frozen_string_literal: true -require_relative 'helper' -require 'rubygems/util' + +require_relative "helper" +require "rubygems/util" class TestGemUtil < Gem::TestCase def test_class_popen pend "popen with a block does not behave well on jruby" if Gem.java_platform? - assert_equal "0\n", Gem::Util.popen(*ruby_with_rubygems_in_load_path, '-e', 'p 0') + assert_equal "0\n", Gem::Util.popen(*ruby_with_rubygems_in_load_path, "-e", "p 0") assert_raise Errno::ECHILD do Process.wait(-1) @@ -16,7 +17,7 @@ class TestGemUtil < Gem::TestCase pend if Gem.java_platform? Gem::Deprecate.skip_during do out, err = capture_output do - Gem::Util.silent_system(*ruby_with_rubygems_in_load_path, '-e', 'puts "hello"; warn "hello"') + Gem::Util.silent_system(*ruby_with_rubygems_in_load_path, "-e", 'puts "hello"; warn "hello"') end assert_empty out assert_empty err @@ -24,59 +25,51 @@ class TestGemUtil < Gem::TestCase end def test_traverse_parents - FileUtils.mkdir_p 'a/b/c' + FileUtils.mkdir_p "a/b/c" - enum = Gem::Util.traverse_parents '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 + 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 loop { break if enum.next.nil? } # exhaust the enumerator end def test_traverse_parents_does_not_crash_on_permissions_error - pend 'skipped on MS Windows (chmod has no effect)' if win_platform? || java_platform? + pend "skipped on MS Windows (chmod has no effect)" if Gem.win_platform? || Gem.java_platform? - FileUtils.mkdir_p 'd/e/f' + FileUtils.mkdir_p "d/e/f" # remove 'execute' permission from "e" directory and make it # impossible to cd into it and its children - FileUtils.chmod(0666, 'd/e') + FileUtils.chmod(0o666, "d/e") - pend 'skipped in root privilege' if Process.uid.zero? + pend "skipped in root privilege" if Process.uid.zero? - paths = Gem::Util.traverse_parents('d/e/f').to_a + paths = Gem::Util.traverse_parents("d/e/f").to_a - assert_equal File.join(@tempdir, 'd'), paths[0] + assert_equal File.join(@tempdir, "d"), paths[0] assert_equal @tempdir, paths[1] assert_equal File.realpath("..", @tempdir), paths[2] assert_equal File.realpath("../..", @tempdir), paths[3] ensure # restore default permissions, allow the directory to be removed - FileUtils.chmod(0775, 'd/e') unless win_platform? || java_platform? - end - - def test_linked_list_find - list = [1,2,3,4,5].inject(Gem::List.new(0)) do |m,o| - Gem::List.new o, m - end - assert_equal 5, list.find {|x| x == 5 } - assert_equal 4, list.find {|x| x == 4 } + FileUtils.chmod(0o775, "d/e") unless Gem.win_platform? || Gem.java_platform? end def test_glob_files_in_dir - FileUtils.mkdir_p 'g' - FileUtils.touch File.join('g', 'h.rb') - FileUtils.touch File.join('g', 'i.rb') + FileUtils.mkdir_p "g" + FileUtils.touch File.join("g", "h.rb") + FileUtils.touch File.join("g", "i.rb") expected_paths = [ - File.join(@tempdir, 'g/h.rb'), - File.join(@tempdir, 'g/i.rb'), + File.join(@tempdir, "g/h.rb"), + File.join(@tempdir, "g/i.rb"), ] - files_with_absolute_base = Gem::Util.glob_files_in_dir('*.rb', File.join(@tempdir, 'g')) + files_with_absolute_base = Gem::Util.glob_files_in_dir("*.rb", File.join(@tempdir, "g")) assert_equal expected_paths.sort, files_with_absolute_base.sort - files_with_relative_base = Gem::Util.glob_files_in_dir('*.rb', 'g') + files_with_relative_base = Gem::Util.glob_files_in_dir("*.rb", "g") assert_equal expected_paths.sort, files_with_relative_base.sort end |