aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/basic_specification.rb10
-rw-r--r--test/rubygems/test_gem_stream_ui.rb12
-rw-r--r--test/rubygems/test_gem_stub_specification.rb12
3 files changed, 25 insertions, 9 deletions
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