summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/rubygems/test_gem_command.rb')
-rw-r--r--test/rubygems/test_gem_command.rb55
1 files changed, 55 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_command.rb b/test/rubygems/test_gem_command.rb
index 712259c6cd..48cbc98d8c 100644
--- a/test/rubygems/test_gem_command.rb
+++ b/test/rubygems/test_gem_command.rb
@@ -184,5 +184,60 @@ class TestGemCommand < Gem::TestCase
assert_equal ['-h', 'command'], args
end
+ def test_show_lookup_failure_suggestions_local
+ correct = "non_existent_with_hint"
+ misspelled = "nonexistent_with_hint"
+
+ spec_fetcher do |fetcher|
+ fetcher.spec correct, 2
+ end
+
+ use_ui @ui do
+ @cmd.show_lookup_failure misspelled, Gem::Requirement.default, [], :local
+ end
+
+ expected = <<-EXPECTED
+ERROR: Could not find a valid gem 'nonexistent_with_hint' (>= 0) in any repository
+ EXPECTED
+
+ assert_equal expected, @ui.error
+ end
+
+ def test_show_lookup_failure_suggestions_none
+ spec_fetcher do |fetcher|
+ fetcher.spec 'correct', 2
+ end
+
+ use_ui @ui do
+ @cmd.show_lookup_failure 'other', Gem::Requirement.default, [], :remote
+ end
+
+ expected = <<-EXPECTED
+ERROR: Could not find a valid gem 'other' (>= 0) in any repository
+ EXPECTED
+
+ assert_equal expected, @ui.error
+ end
+
+ def test_show_lookup_failure_suggestions_remote
+ correct = "non_existent_with_hint"
+ misspelled = "nonexistent_with_hint"
+
+ spec_fetcher do |fetcher|
+ fetcher.spec correct, 2
+ end
+
+ use_ui @ui do
+ @cmd.show_lookup_failure misspelled, Gem::Requirement.default, [], :remote
+ end
+
+ expected = <<-EXPECTED
+ERROR: Could not find a valid gem 'nonexistent_with_hint' (>= 0) in any repository
+ERROR: Possible alternatives: non_existent_with_hint
+ EXPECTED
+
+ assert_equal expected, @ui.error
+ end
+
end