summaryrefslogtreecommitdiff
path: root/test/rubygems/test_gem_source_vendor.rb
blob: 2543871439d633ccc72eb91de36dcc06377463ec (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
# frozen_string_literal: true

require_relative "helper"
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", nil
    installed = Gem::Source::Installed.new

    assert_equal(0, vendor.<=>(vendor),    "vendor <=> vendor") # rubocop:disable Lint/BinaryOperatorWithIdenticalOperands

    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