File: //usr/local/rvm/src/ruby-2.7.4/spec/bundler/bundler/source/path_spec.rb
# frozen_string_literal: true
RSpec.describe Bundler::Source::Path do
before do
allow(Bundler).to receive(:root) { Pathname.new("root") }
end
describe "#eql?" do
subject { described_class.new("path" => "gems/a") }
context "with two equivalent relative paths from different roots" do
let(:a_gem_opts) { { "path" => "../gems/a", "root_path" => Bundler.root.join("nested") } }
let(:a_gem) { described_class.new a_gem_opts }
it "returns true" do
expect(subject).to eq a_gem
end
end
context "with the same (but not equivalent) relative path from different roots" do
subject { described_class.new("path" => "gems/a") }
let(:a_gem_opts) { { "path" => "gems/a", "root_path" => Bundler.root.join("nested") } }
let(:a_gem) { described_class.new a_gem_opts }
it "returns false" do
expect(subject).to_not eq a_gem
end
end
end
end