diff options
Diffstat (limited to 'spec/bundler/bundler/endpoint_specification_spec.rb')
-rw-r--r-- | spec/bundler/bundler/endpoint_specification_spec.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/bundler/bundler/endpoint_specification_spec.rb b/spec/bundler/bundler/endpoint_specification_spec.rb index 02a90d507a..81fcd76e01 100644 --- a/spec/bundler/bundler/endpoint_specification_spec.rb +++ b/spec/bundler/bundler/endpoint_specification_spec.rb @@ -48,6 +48,33 @@ RSpec.describe Bundler::EndpointSpecification do end end + describe "#required_ruby_version" do + context "required_ruby_version is already set on endpoint specification" do + existing_value = "already set value" + let(:required_ruby_version) { existing_value } + + it "should return the current value when already set on endpoint specification" do + remote_spec = double(:remote_spec, :required_ruby_version => "remote_value", :required_rubygems_version => nil) + + expect(spec.required_ruby_version). eql?(existing_value) + end + end + + it "should return the remote spec value when not set on endpoint specification and remote spec has one" do + remote_value = "remote_value" + remote_spec = double(:remote_spec, :required_ruby_version => remote_value, :required_rubygems_version => nil) + allow(spec_fetcher).to receive(:fetch_spec).and_return(remote_spec) + + expect(spec.required_ruby_version). eql?(remote_value) + end + + it "should use the default Gem Requirement value when not set on endpoint specification and not set on remote spec" do + remote_spec = double(:remote_spec, :required_ruby_version => nil, :required_rubygems_version => nil) + allow(spec_fetcher).to receive(:fetch_spec).and_return(remote_spec) + expect(spec.required_ruby_version). eql?(Gem::Requirement.default) + end + end + it "supports equality comparison" do remote_spec = double(:remote_spec, :required_ruby_version => nil, :required_rubygems_version => nil) allow(spec_fetcher).to receive(:fetch_spec).and_return(remote_spec) |