summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_source_installed.rb
blob: 444064963bc37665517b380785b82d5e50f9338b (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
29
30
31
32
33
34
35
36
# frozen_string_literal: true
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
    git       = Gem::Source::Git.new 'a', 'a', 'master'
    vendor    = Gem::Source::Vendor.new 'a'

    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')

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

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

end