summaryrefslogtreecommitdiff
path: root/spec/bundler/bundler/resolver/candidate_spec.rb
blob: f7b378d32b506a5ecf86e81f0219fcd11b0210e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

RSpec.describe Bundler::Resolver::Candidate do
  it "compares fine" do
    version1 = described_class.new("1.12.5", specs: [Gem::Specification.new("foo", "1.12.5") {|s| s.platform = Gem::Platform::RUBY }])
    version2 = described_class.new("1.12.5") # passing no specs creates a platform specific candidate, so sorts higher

    expect(version2 >= version1).to be true

    expect(version1.generic! == version2.generic!).to be true
    expect(version1.platform_specific! == version2.platform_specific!).to be true

    expect(version1.platform_specific! >= version2.generic!).to be true
    expect(version2.platform_specific! >= version1.generic!).to be true

    version1 = described_class.new("1.12.5", specs: [Gem::Specification.new("foo", "1.12.5") {|s| s.platform = Gem::Platform::RUBY }])
    version2 = described_class.new("1.12.5", specs: [Gem::Specification.new("foo", "1.12.5") {|s| s.platform = Gem::Platform::X64_LINUX }])

    expect(version2 >= version1).to be true
  end
end