mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	 a5dfaca00a
			
		
	
	
		a5dfaca00a
		
	
	
	
	
		
			
			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
		
			
				
	
	
		
			80 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'rubygems/test_case'
 | |
| require 'rubygems/dependency_resolver'
 | |
| 
 | |
| class TestGemDependencyResolverAPISet < Gem::TestCase
 | |
| 
 | |
|   def setup
 | |
|     super
 | |
| 
 | |
|     @DR = Gem::DependencyResolver
 | |
| 
 | |
|     @api_set = @DR::APISet.new
 | |
|     @uri = 'https://rubygems.org/api/v1/dependencies'
 | |
|     @fetcher = Gem::FakeFetcher.new
 | |
|     Gem::RemoteFetcher.fetcher = @fetcher
 | |
|   end
 | |
| 
 | |
|   def test_find_all
 | |
|     b_entry = {
 | |
|       :name         => 'b',
 | |
|       :number       => '2',
 | |
|       :platform     => 'ruby',
 | |
|       :dependencies => [['a', '>= 0']],
 | |
|     }
 | |
| 
 | |
|     @fetcher.data["#{@uri}?gems=b"] = Marshal.dump [b_entry]
 | |
| 
 | |
|     b_req = @DR::DependencyRequest.new dep('b', '>= 0'), nil
 | |
| 
 | |
|     expected = [
 | |
|       @DR::APISpecification.new(@api_set, b_entry)
 | |
|     ]
 | |
| 
 | |
|     assert_equal expected, @api_set.find_all(b_req)
 | |
|   end
 | |
| 
 | |
|   def test_prefetch
 | |
|     b_entry = {
 | |
|       :name         => 'b',
 | |
|       :number       => '2',
 | |
|       :platform     => 'ruby',
 | |
|       :dependencies => [['a', '>= 0']],
 | |
|     }
 | |
| 
 | |
|     a_entry = {
 | |
|       :name         => 'a',
 | |
|       :number       => '2',
 | |
|       :platform     => 'ruby',
 | |
|       :dependencies => [],
 | |
|     }
 | |
| 
 | |
|     @fetcher.data["#{@uri}?gems=a,b"] = Marshal.dump [a_entry, b_entry]
 | |
| 
 | |
|     a_req = @DR::DependencyRequest.new dep('a', '>= 0'), nil
 | |
|     b_req = @DR::DependencyRequest.new dep('b', '>= 0'), nil
 | |
| 
 | |
|     @api_set.prefetch([b_req, a_req])
 | |
| 
 | |
|     assert_equal [a_entry], @api_set.versions('a')
 | |
|     assert_equal [b_entry], @api_set.versions('b')
 | |
|   end
 | |
| 
 | |
|   def test_versions_cache
 | |
|     entry = {
 | |
|       :name         => 'b',
 | |
|       :number       => '2',
 | |
|       :platform     => 'ruby',
 | |
|       :dependencies => [['a', '>= 0']],
 | |
|     }
 | |
| 
 | |
|     @fetcher.data["#{@uri}?gems=b"] = Marshal.dump [entry]
 | |
| 
 | |
|     assert_equal [entry], @api_set.versions('b')
 | |
| 
 | |
|     @fetcher.data["#{@uri}?gems=b"] = 'garbage'
 | |
| 
 | |
|     assert_equal [entry], @api_set.versions('b'), 'version data must be cached'
 | |
|   end
 | |
| 
 | |
| end
 | |
| 
 |