summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_source_installed.rb
blob: 1119ad0c2beccc3d40514f0ccdc8518dcbdf6266 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
require 'rubygems/test_case'
require 'rubygems/source'

class TestGemSourceInstalled < Gem::TestCase

  def test_spaceship
    a1 = quick_gem 'a', '1'
    util_build_gem a1

    remote    = Gem::Source.new @gem_repo
    specific  = Gem::Source::SpecificFile.new a1.cache_file
    installed = Gem::Source::Installed.new
    local     = Gem::Source::Local.new

    assert_equal( 0, installed.<=>(installed), 'installed <=> installed')

    assert_equal(-1, remote.   <=>(installed), 'remote    <=> installed')
    assert_equal( 1, installed.<=>(remote),    'installed <=> remote')

    assert_equal( 1, installed.<=>(local),     'installed <=> local')
    assert_equal(-1, local.    <=>(installed), 'local     <=> installed')

    assert_equal(-1, specific. <=>(installed), 'specific  <=> installed')
    assert_equal( 1, installed.<=>(specific),  'installed <=> specific')
  end

end