diff options
author | Jay Mundrawala <jdmundrawala@gmail.com> | 2014-10-17 16:16:22 -0700 |
---|---|---|
committer | Jay Mundrawala <jdmundrawala@gmail.com> | 2014-10-23 18:06:05 -0700 |
commit | 03dcc254dca6ad5f01a7d5a86394dc3d7a0b9c56 (patch) | |
tree | 5687ee4319f38385694fe37f3ed4bfac96058a11 /spec | |
parent | dc6dc017e706840a9681bef1a75391a91ab6a2e0 (diff) | |
download | chef-03dcc254dca6ad5f01a7d5a86394dc3d7a0b9c56.tar.gz |
Added unit tests to ensure that value for env correctly deals with having the delimiter in it
Diffstat (limited to 'spec')
-rw-r--r-- | spec/unit/provider/env_spec.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/spec/unit/provider/env_spec.rb b/spec/unit/provider/env_spec.rb index dc6176d45c..b15990045e 100644 --- a/spec/unit/provider/env_spec.rb +++ b/spec/unit/provider/env_spec.rb @@ -198,6 +198,22 @@ describe Chef::Provider::Env do @provider.delete_element.should eql(true) @new_resource.should be_updated end + + context "when new_resource's value contains the delimiter" do + it "should return true if the all elements are deleted" do + @new_resource.value("C:/foo/bin;C:/bar/bin") + @provider.should_receive(:create_env) + @provider.delete_element.should eql(true) + @new_resource.should be_updated + end + + it "should return true if any of the elements are deleted" do + @new_resource.value("C:/foo/bin;C:/baz/bin") + @provider.should_receive(:create_env) + @provider.delete_element.should eql(true) + @new_resource.should be_updated + end + end end describe "compare_value" do @@ -228,6 +244,22 @@ describe Chef::Provider::Env do @current_resource.value("C:/biz;C:/foo/bin;C:/baz") @provider.compare_value.should be_true end + + context "when new_resource's value contains the delimiter" do + it "should return false if all the current values are contained" do + @new_resource.value("C:/biz;C:/baz") + @new_resource.delim(";") + @current_resource.value("C:/biz;C:/foo/bin;C:/baz") + @provider.compare_value.should be_false + end + + it "should return true if any of the new values are not contained" do + @new_resource.value("C:/biz;C:/baz;C:/bin") + @new_resource.delim(";") + @current_resource.value("C:/biz;C:/foo/bin;C:/baz") + @provider.compare_value.should be_true + end + end end describe "modify_env" do @@ -247,5 +279,13 @@ describe Chef::Provider::Env do @provider.modify_env passed_value.should == new_value end + + it "should only add values not already contained when a delimiter is provided" do + @new_resource.value("a;c;d") + @new_resource.delim(";") + @current_resource.value("a;b;c") + @provider.modify_env + @new_resource.value.should eq("d;a;b;c") + end end end |