aboutsummaryrefslogtreecommitdiffstats
path: root/test/rubygems/test_gem_source_vendor.rb
blob: 01b20bdd51f39b92577e38e5b07dde120bc8ee61 (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
# frozen_string_literal: true
require 'rubygems/test_case'
require 'rubygems/source'

class TestGemSourceVendor < Gem::TestCase

  def test_initialize
    source = Gem::Source::Vendor.new 'vendor/foo'

    assert_equal 'vendor/foo', source.uri
  end

  def test_spaceship
    vendor    = Gem::Source::Vendor.new 'vendor/foo'
    remote    = Gem::Source.new @gem_repo
    git       = Gem::Source::Git.new 'a', 'a', 'master'
    installed = Gem::Source::Installed.new

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

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

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

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

end