diff options
Diffstat (limited to 'test/rubygems/test_gem_commands_sources_command.rb')
-rw-r--r-- | test/rubygems/test_gem_commands_sources_command.rb | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/test/rubygems/test_gem_commands_sources_command.rb b/test/rubygems/test_gem_commands_sources_command.rb index 014b4b4c12..d5b6d99419 100644 --- a/test/rubygems/test_gem_commands_sources_command.rb +++ b/test/rubygems/test_gem_commands_sources_command.rb @@ -108,6 +108,58 @@ source #{@gem_repo} already present in the cache assert_equal '', @ui.error end + def test_execute_add_redundant_source_trailing_slash + # Remove pre-existing gem source (w/ slash) + repo_with_slash = "http://gems.example.com/" + @cmd.handle_options %W[--remove #{repo_with_slash}] + use_ui @ui do + @cmd.execute + end + source = Gem::Source.new repo_with_slash + assert_equal false, Gem.sources.include?(source) + + expected = <<-EOF +#{repo_with_slash} removed from sources + EOF + + assert_equal expected, @ui.output + assert_equal '', @ui.error + + # Re-add pre-existing gem source (w/o slash) + repo_without_slash = "http://gems.example.com" + @cmd.handle_options %W[--add #{repo_without_slash}] + use_ui @ui do + @cmd.execute + end + source = Gem::Source.new repo_without_slash + assert_equal true, Gem.sources.include?(source) + + expected = <<-EOF +http://gems.example.com/ removed from sources +http://gems.example.com added to sources + EOF + + assert_equal expected, @ui.output + assert_equal '', @ui.error + + # Re-add original gem source (w/ slash) + @cmd.handle_options %W[--add #{repo_with_slash}] + use_ui @ui do + @cmd.execute + end + source = Gem::Source.new repo_with_slash + assert_equal true, Gem.sources.include?(source) + + expected = <<-EOF +http://gems.example.com/ removed from sources +http://gems.example.com added to sources +source http://gems.example.com/ already present in the cache + EOF + + assert_equal expected, @ui.output + assert_equal '', @ui.error + end + def test_execute_add_http_rubygems_org http_rubygems_org = 'http://rubygems.org' |