summaryrefslogtreecommitdiff
path: root/chef/spec/unit/provider/package/rubygems_spec.rb
diff options
context:
space:
mode:
authorDaniel DeLeo <dan@opscode.com>2010-05-02 21:12:32 -0700
committerDaniel DeLeo <dan@opscode.com>2010-05-02 21:12:32 -0700
commitb3b52ed426078098cc3daaabd04dda6e691ff252 (patch)
tree6440a3ff145d85d6f79bdb304a5fe6d0e609777a /chef/spec/unit/provider/package/rubygems_spec.rb
parenta046bfd64d895e6a2921179ee8c78d9e89412885 (diff)
downloadchef-b3b52ed426078098cc3daaabd04dda6e691ff252.tar.gz
[CHEF-1168] ignore arch info when parsing rubygems list output
Diffstat (limited to 'chef/spec/unit/provider/package/rubygems_spec.rb')
-rw-r--r--chef/spec/unit/provider/package/rubygems_spec.rb24
1 files changed, 22 insertions, 2 deletions
diff --git a/chef/spec/unit/provider/package/rubygems_spec.rb b/chef/spec/unit/provider/package/rubygems_spec.rb
index cf58a26e95..61e1affc63 100644
--- a/chef/spec/unit/provider/package/rubygems_spec.rb
+++ b/chef/spec/unit/provider/package/rubygems_spec.rb
@@ -22,8 +22,8 @@ require File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "..", "sp
describe Chef::Provider::Package::Rubygems do
before(:each) do
@node = Chef::Node.new
- @new_resource = Chef::Resource::GemPackage.new("rspec")
- @new_resource.version "1.2.2"
+ @new_resource = Chef::Resource::GemPackage.new("nokogiri")
+ @new_resource.version "1.4.1"
@provider = Chef::Provider::Package::Rubygems.new(@node, @new_resource)
end
@@ -38,6 +38,26 @@ describe Chef::Provider::Package::Rubygems do
end
end
+ describe "loading the current state" do
+ it "determines the installed versions of gems" do
+ gem_list = "nokogiri (2.3.5, 2.2.2, 1.2.6)"
+ @provider.gem_list_parse(gem_list).should == %w{2.3.5 2.2.2 1.2.6}
+ end
+ end
+
+ describe "determining the candidate version" do
+ it "parses the available versions as reported by rubygems 1.3.6 and lower" do
+ gem_list = "nokogiri (1.4.1)\nnokogiri-happymapper (0.3.3)"
+ @provider.gem_list_parse(gem_list).should == ['1.4.1']
+ end
+
+ it "parses the available versions as reported by rubygems 1.3.7 and newer" do
+ gem_list = "nokogiri (1.4.1 ruby java x86-mingw32 x86-mswin32)\nnokogiri-happymapper (0.3.3)\n"
+ @provider.gem_list_parse(gem_list).should == ['1.4.1']
+ end
+
+ end
+
describe "when installing a gem" do
it "should run gem install with the package name and version" do
@provider.should_receive(:run_command).with(