mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
32 lines
1.2 KiB
Ruby
32 lines
1.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe Bundler::DepProxy do
|
|
let(:dep) { Bundler::Dependency.new("rake", ">= 0") }
|
|
subject { described_class.get_proxy(dep, Gem::Platform::RUBY) }
|
|
let(:same) { subject }
|
|
let(:other) { described_class.get_proxy(dep, Gem::Platform::RUBY) }
|
|
let(:different) { described_class.get_proxy(dep, Gem::Platform::JAVA) }
|
|
|
|
describe "#eql?" do
|
|
it { expect(subject.eql?(same)).to be true }
|
|
it { expect(subject.eql?(other)).to be true }
|
|
it { expect(subject.eql?(different)).to be false }
|
|
it { expect(subject.eql?(nil)).to be false }
|
|
it { expect(subject.eql?("foobar")).to be false }
|
|
end
|
|
|
|
describe "must use factory methods" do
|
|
it { expect { described_class.new(dep, Gem::Platform::RUBY) }.to raise_error NoMethodError }
|
|
it { expect { subject.dup }.to raise_error NoMethodError }
|
|
it { expect { subject.clone }.to raise_error NoMethodError }
|
|
end
|
|
|
|
describe "frozen" do
|
|
if Gem.ruby_version >= Gem::Version.new("2.5.0")
|
|
error = Object.const_get("FrozenError")
|
|
else
|
|
error = RuntimeError
|
|
end
|
|
it { expect { subject.instance_variable_set(:@__platform, {}) }.to raise_error error }
|
|
end
|
|
end
|