summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/query_utils.rb2
-rw-r--r--test/rubygems/test_gem_commands_info_command.rb35
2 files changed, 36 insertions, 1 deletions
diff --git a/lib/rubygems/query_utils.rb b/lib/rubygems/query_utils.rb
index ea05969422..9849370b1a 100644
--- a/lib/rubygems/query_utils.rb
+++ b/lib/rubygems/query_utils.rb
@@ -311,7 +311,7 @@ module Gem::QueryUtils
label = "Installed at"
specs.each do |s|
version = s.version.to_s
- default = ", default" if s.default_gem?
+ default = s.default_gem? ? ", default" : ""
entry << "\n" << " #{label} (#{version}#{default}): #{s.base_dir}"
label = " " * label.length
end
diff --git a/test/rubygems/test_gem_commands_info_command.rb b/test/rubygems/test_gem_commands_info_command.rb
index bca563079e..f020d380d2 100644
--- a/test/rubygems/test_gem_commands_info_command.rb
+++ b/test/rubygems/test_gem_commands_info_command.rb
@@ -67,4 +67,39 @@ class TestGemCommandsInfoCommand < Gem::TestCase
assert_equal expected, @ui.output
end
+
+ def test_execute_with_default_gem
+ @gem = new_default_spec("foo", "1.0.0", nil, "default/gem.rb")
+
+ install_default_gems @gem
+
+ @cmd.handle_options %w[foo]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ assert_include(@ui.output, "#{@gem.name} (#{@gem.version})\n")
+ assert_include(@ui.output, "Installed at (default): #{@gem.base_dir}\n")
+ assert_match "", @ui.error
+ end
+
+ def test_execute_with_default_gem_and_regular_gem
+ @default = new_default_spec("foo", "1.0.1", nil, "default/gem.rb")
+
+ install_default_gems @default
+
+ @regular = gem "foo", "1.0.0"
+
+ @cmd.handle_options %w[foo]
+
+ use_ui @ui do
+ @cmd.execute
+ end
+
+ assert_include(@ui.output, "foo (1.0.1, 1.0.0)\n")
+ assert_include(@ui.output, "Installed at (1.0.1, default): #{@default.base_dir}\n")
+ assert_include(@ui.output, " (1.0.0): #{@default.base_dir}\n")
+ assert_match "", @ui.error
+ end
end