spec/gemfile_spec.rb in pessimize-0.2.0 vs spec/gemfile_spec.rb in pessimize-0.3.0
- old
+ new
@@ -116,7 +116,75 @@
}
its(:to_s) { should == expected_defn }
end
end
+
+ context "with multiple gem definitions spanning multiple lines" do
+
+ let(:gem_defn) { <<-GEM
+source "https://rubygems.org"
+
+gem "monkey",
+ "2.0.0"
+
+gem "thor",
+ ">= 1.3.0"
+GEM
+ }
+
+ subject(:gemfile) { Gemfile.new(gem_defn) }
+
+ its(:to_s) { should == gem_defn }
+
+ describe "#gems" do
+ subject(:gems) { gemfile.gems }
+
+ its(:length) { should == 2 }
+
+ describe "the first gem" do
+ subject(:gem) { gems[0] }
+
+ its(:name) { should == "monkey" }
+ its(:version) { should == "2.0.0" }
+ its(:to_s) { should == %Q( "monkey",\n "2.0.0") }
+
+ context "setting the version" do
+ before do
+ gem.version = "~> 2.0.0"
+ end
+
+ its(:to_s) { should == %Q( "monkey",\n "~> 2.0.0") }
+ end
+ end
+
+ describe "the second gem" do
+ subject { gems[1] }
+
+ its(:name) { should == "thor" }
+ its(:version) { should == ">= 1.3.0" }
+ end
+ end
+
+ context "after setting the gem versions" do
+ before do
+ gemfile.gems.each do |gem|
+ gem.version = "~> 1.0.0"
+ end
+ end
+
+ let(:expected_defn) { <<-GEM
+source "https://rubygems.org"
+
+gem "monkey",
+ "~> 1.0.0"
+
+gem "thor",
+ "~> 1.0.0"
+GEM
+ }
+
+ its(:to_s) { should == expected_defn }
+ end
+ end
end
end