diff --git a/lib/rubygems/basic_specification.rb b/lib/rubygems/basic_specification.rb index 0d50a93230..72954a7863 100644 --- a/lib/rubygems/basic_specification.rb +++ b/lib/rubygems/basic_specification.rb @@ -275,10 +275,14 @@ class Gem::BasicSpecification # for this spec. def lib_dirs_glob - dirs = if self.raw_require_paths.size > 1 then - "{#{self.raw_require_paths.join(',')}}" + dirs = if self.raw_require_paths + if self.raw_require_paths.size > 1 then + "{#{self.raw_require_paths.join(',')}}" + else + self.raw_require_paths.first + end else - self.raw_require_paths.first + "lib" # default value for require_paths for bundler/inline end "#{self.full_gem_path}/#{dirs}".dup.untaint diff --git a/test/rubygems/test_gem_stream_ui.rb b/test/rubygems/test_gem_stream_ui.rb index 9518ebc88e..51fd51c474 100644 --- a/test/rubygems/test_gem_stream_ui.rb +++ b/test/rubygems/test_gem_stream_ui.rb @@ -37,7 +37,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask skip 'TTY detection broken on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' Timeout.timeout(1) do expected_answer = "Arthur, King of the Britons" @@ -49,7 +49,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask_no_tty skip 'TTY detection broken on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' @in.tty = false @@ -61,7 +61,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask_for_password skip 'Always uses $stdin on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' Timeout.timeout(1) do expected_answer = "Arthur, King of the Britons" @@ -73,7 +73,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask_for_password_no_tty skip 'TTY handling is broken on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' @in.tty = false @@ -85,7 +85,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask_yes_no_no_tty_with_default skip 'TTY handling is broken on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' @in.tty = false @@ -100,7 +100,7 @@ class TestGemStreamUI < Gem::TestCase def test_ask_yes_no_no_tty_without_default skip 'TTY handling is broken on windows' if - Gem.win_platform? unless RUBY_VERSION > '1.9.2' + Gem.win_platform? && RUBY_VERSION <= '1.9.2' @in.tty = false diff --git a/test/rubygems/test_gem_stub_specification.rb b/test/rubygems/test_gem_stub_specification.rb index 53b9dab02d..43680265c7 100644 --- a/test/rubygems/test_gem_stub_specification.rb +++ b/test/rubygems/test_gem_stub_specification.rb @@ -110,6 +110,18 @@ class TestStubSpecification < Gem::TestCase assert_equal code_rb, stub.matches_for_glob('code*').first end + def test_matches_for_glob_with_bundler_inline + stub = stub_with_extension + code_rb = File.join stub.gem_dir, 'lib', 'code.rb' + FileUtils.mkdir_p File.dirname code_rb + FileUtils.touch code_rb + + stub.stub(:raw_require_paths, nil) do + assert_equal code_rb, stub.matches_for_glob('code*').first + end + end + + def test_missing_extensions_eh stub = stub_with_extension do |s| extconf_rb = File.join s.gem_dir, s.extensions.first