diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-02-28 22:25:55 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-02-28 22:25:55 +0000 |
commit | a5dfaca00a94bc3d135aae52b4458f5a355bf0ed (patch) | |
tree | 77c9580bb289422d6e97749934a8c24c8aadc76c /test/rubygems/test_gem_spec_fetcher.rb | |
parent | 3fc7731297d8de1f52cec9382a4f1f0a08bea949 (diff) | |
download | ruby-a5dfaca00a94bc3d135aae52b4458f5a355bf0ed.tar.gz |
* lib/rubygems/ext/builder.rb: Fix incompatibilities when installing
extensions. Patch by Nobu.
[ruby-trunk - Bug #7968] [ruby-trunk - Bug #7971]
* lib/rubygems/ext/ext_conf_builder.rb: ditto.
* lib/rubygems/installer.rb: ditto.
* test/rubygems/test_gem_ext_ext_conf_builder.rb: Test for the above.
* test/rubygems/test_gem_installer.rb: ditto.
* lib/rubygems/commands/sources_command.rb: Prefer HTTPS over HTTP.
* lib/rubygems/defaults.rb: ditto
* lib/rubygems/dependency_resolver.rb: Ditto.
* lib/rubygems/source.rb: ditto.
* lib/rubygems/spec_fetcher.rb: ditto.
* lib/rubygems/specification.rb: ditto.
* lib/rubygems/test_utilities.rb: ditto.
* test/rubygems/test_gem.rb: Test for the above.
* test/rubygems/test_gem_commands_sources_command.rb: ditto.
* test/rubygems/test_gem_dependency_resolver_api_set.rb: ditto.
* test/rubygems/test_gem_remote_fetcher.rb: ditto.
* test/rubygems/test_gem_source.rb: ditto.
* test/rubygems/test_gem_spec_fetcher.rb: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_gem_spec_fetcher.rb')
-rw-r--r-- | test/rubygems/test_gem_spec_fetcher.rb | 47 |
1 files changed, 39 insertions, 8 deletions
diff --git a/test/rubygems/test_gem_spec_fetcher.rb b/test/rubygems/test_gem_spec_fetcher.rb index b4aff095c0..ac48edde96 100644 --- a/test/rubygems/test_gem_spec_fetcher.rb +++ b/test/rubygems/test_gem_spec_fetcher.rb @@ -32,13 +32,14 @@ class TestGemSpecFetcher < Gem::TestCase Gem::NameTuple.new(spec.name, spec.version, spec.original_platform) } - v = Gem.marshal_version - s_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@specs))) - l_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@latest_specs))) - p_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@prerelease_specs))) - @fetcher.data["#{@gem_repo}specs.#{v}.gz"] = s_zip - @fetcher.data["#{@gem_repo}latest_specs.#{v}.gz"] = l_zip - @fetcher.data["#{@gem_repo}prerelease_specs.#{v}.gz"] = p_zip + @v = Gem.marshal_version + @s_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@specs))) + @l_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@latest_specs))) + @p_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@prerelease_specs))) + + @fetcher.data["#{@gem_repo}specs.#{@v}.gz"] = @s_zip + @fetcher.data["#{@gem_repo}latest_specs.#{@v}.gz"] = @l_zip + @fetcher.data["#{@gem_repo}prerelease_specs.#{@v}.gz"] = @p_zip @sf = Gem::SpecFetcher.new @@ -200,7 +201,6 @@ class TestGemSpecFetcher < Gem::TestCase assert_equal comp.sort, specs[@source].sort end - def test_available_specs_cache specs, _ = @sf.available_specs(:latest) @@ -240,5 +240,36 @@ class TestGemSpecFetcher < Gem::TestCase assert_kind_of Gem::SourceFetchProblem, errors.first end + def test_upgrade_http_source + Gem.configuration.verbose = :really + + source = Gem::Source.new URI 'http://example' + same_source = nil + https_source = nil + + use_ui @ui do + same_source = @sf.upgrade_http_source source + end + + assert_equal URI('http://example'), same_source.uri + + @fetcher.data['https://example/'] = 'hello' + + use_ui @ui do + https_source = @sf.upgrade_http_source source + end + + assert_equal URI('https://example'), https_source.uri + + assert_empty @ui.error + + expected = <<-EXPECTED +Upgrading http://example to HTTPS failed, continuing +Upgraded http://example to HTTPS + EXPECTED + + assert_equal expected, @ui.output + end + end |