HEX
Server: Apache
System: Linux s198.coreserver.jp 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: nagasaki (10062)
PHP: 7.1.33
Disabled: NONE
Upload Files
File: //usr/local/rvm/src/ruby-2.6.8/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