diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-20 09:03:37 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-10-20 09:03:37 +0000 |
commit | 43e320ba1b08c32286f0aa1972528c5f25b4a483 (patch) | |
tree | de7fdcc12d7625ee8c7e25ffd73a015c651104a5 | |
parent | 0242f7ccae800eab5c3ab5f3129b1126ffbb45c3 (diff) | |
download | ruby-43e320ba1b08c32286f0aa1972528c5f25b4a483.tar.gz |
Merge rubygems master(ddbf3203f3857649abe95c73edefc7de7e6ecff4).
It fixed: https://github.com/rubygems/rubygems/issues/2041
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | lib/rubygems/basic_specification.rb | 10 | ||||
-rw-r--r-- | test/rubygems/test_gem_stream_ui.rb | 12 | ||||
-rw-r--r-- | test/rubygems/test_gem_stub_specification.rb | 12 |
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 |