diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2016-03-16 16:22:21 -0500 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2016-03-16 18:35:40 -0500 |
commit | f6bccae3e93369872c3c560caa9bb0d138811630 (patch) | |
tree | 6b02e75b33f1c4353550ad7c77240fea2523647c | |
parent | 8022b3a3af208913dc9a6b33f41cac0102a4370e (diff) | |
download | bundler-f6bccae3e93369872c3c560caa9bb0d138811630.tar.gz |
[SpecSet] Add basic specsRochesterinNYC-alias-size-to-length-spec-set
-rw-r--r-- | lib/bundler/spec_set.rb | 4 | ||||
-rw-r--r-- | spec/bundler/spec_set_spec.rb | 43 |
2 files changed, 44 insertions, 3 deletions
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb index cd9874e4b3..deb89a30fe 100644 --- a/lib/bundler/spec_set.rb +++ b/lib/bundler/spec_set.rb @@ -7,9 +7,7 @@ module Bundler extend Forwardable include TSort, Enumerable - alias_method :size, :length - - def_delegators :@specs, :<<, :length, :add, :remove + def_delegators :@specs, :<<, :length, :add, :remove, :size def_delegators :sorted, :each def initialize(specs) diff --git a/spec/bundler/spec_set_spec.rb b/spec/bundler/spec_set_spec.rb new file mode 100644 index 0000000000..29d81cb30c --- /dev/null +++ b/spec/bundler/spec_set_spec.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true +require "spec_helper" + +describe Bundler::SpecSet do + let(:specs) do + [ + build_spec("a", "1.0"), + build_spec("b", "1.0"), + build_spec("c", "1.1") do |s| + s.dep "a", "< 2.0" + s.dep "e", "> 0" + end, + build_spec("d", "2.0") do |s| + s.dep "a", "1.0" + s.dep "c", "~> 1.0" + end, + build_spec("e", "1.0.0.pre.1"), + ].flatten + end + subject { described_class.new(specs) } + + context "enumerable methods" do + it "has a length" do + expect(subject.length).to eq(5) + end + + it "has a size" do + expect(subject.size).to eq(5) + end + end + + describe "#to_a" do + it "returns the specs in order" do + expect(subject.to_a.map(&:full_name)).to eq %w( + a-1.0 + b-1.0 + e-1.0.0.pre.1 + c-1.1 + d-2.0 + ) + end + end +end |