diff options
Diffstat (limited to 'test/rubygems/test_gem_source.rb')
-rw-r--r-- | test/rubygems/test_gem_source.rb | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/test/rubygems/test_gem_source.rb b/test/rubygems/test_gem_source.rb index 2629f180a9..cb43121ddd 100644 --- a/test/rubygems/test_gem_source.rb +++ b/test/rubygems/test_gem_source.rb @@ -63,7 +63,7 @@ class TestGemSource < Gem::TestCase def test_cache_dir_escapes_windows_paths uri = URI.parse("file:///C:/WINDOWS/Temp/gem_repo") - root = File.join Gem.user_home, '.gem', 'specs' + root = Gem.spec_cache_dir cache_dir = @source.cache_dir(uri).gsub(root, '') assert cache_dir !~ /:/, "#{cache_dir} should not contain a :" end @@ -123,7 +123,7 @@ class TestGemSource < Gem::TestCase expected = @released assert_equal expected, @source.load_specs(:released) - cache_dir = File.join Gem.user_home, '.gem', 'specs', 'gems.example.com%80' + cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80' assert File.exist?(cache_dir), "#{cache_dir} does not exist" cache_file = File.join cache_dir, "specs.#{Gem.marshal_version}" @@ -138,7 +138,7 @@ class TestGemSource < Gem::TestCase @fetcher.data["#{@gem_repo}latest_specs.#{Gem.marshal_version}"] = ' ' * Marshal.dump(@latest_specs).length - cache_dir = File.join Gem.user_home, '.gem', 'specs', 'gems.example.com%80' + cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80' FileUtils.mkdir_p cache_dir @@ -160,7 +160,7 @@ class TestGemSource < Gem::TestCase @fetcher.data["#{@gem_repo}latest_specs.#{Gem.marshal_version}.gz"] = util_gzip(Marshal.dump(@latest_specs)) - cache_dir = File.join Gem.user_home, '.gem', 'specs', 'gems.example.com%80' + cache_dir = File.join Gem.spec_cache_dir, 'gems.example.com%80' FileUtils.mkdir_p cache_dir @@ -184,5 +184,28 @@ class TestGemSource < Gem::TestCase end end + def test_spaceship + remote = @source + specific = Gem::Source::SpecificFile.new(@a1.cache_file) + installed = Gem::Source::Installed.new + local = Gem::Source::Local.new + + assert_equal( 0, remote. <=>(remote), 'remote <=> remote') + + assert_equal(-1, remote. <=>(specific), 'remote <=> specific') + assert_equal( 1, specific. <=>(remote), 'specific <=> remote') + + assert_equal(-1, remote. <=>(local), 'remote <=> local') + assert_equal( 1, local. <=>(remote), 'local <=> remote') + + assert_equal(-1, remote. <=>(installed), 'remote <=> installed') + assert_equal( 1, installed.<=>(remote), 'installed <=> remote') + + no_uri = @source.dup + no_uri.instance_variable_set :@uri, nil + + assert_equal(-1, remote. <=>(no_uri), 'remote <=> no_uri') + end + end |