diff options
author | Lamont Granquist <lamont@scriptkiddie.org> | 2017-03-15 12:05:43 -0700 |
---|---|---|
committer | Lamont Granquist <lamont@scriptkiddie.org> | 2017-03-15 12:05:43 -0700 |
commit | b37436b080ff3733736e70d1343d5f328ed840e4 (patch) | |
tree | e1de2ad7e6158d4406c591aae63b0bc9062ba6d8 /spec | |
parent | 645054783c587301c3c1226581df5cfcd0a9b947 (diff) | |
download | chef-b37436b080ff3733736e70d1343d5f328ed840e4.tar.gz |
Chef-13 freeze merged node attributelcg/node-freeze
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/unit/node/attribute_spec.rb | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/spec/unit/node/attribute_spec.rb b/spec/unit/node/attribute_spec.rb index 0869b83e43..3dd0d0f650 100644 --- a/spec/unit/node/attribute_spec.rb +++ b/spec/unit/node/attribute_spec.rb @@ -1244,4 +1244,16 @@ describe Chef::Node::Attribute do @attributes.default["foo"]["bar"]["baz"] = "quux" end end + + describe "frozen immutable strings" do + it "strings in hashes should be frozen" do + @attributes.default["foo"]["bar"]["baz"] = "fizz" + expect { @attributes["foo"]["bar"]["baz"] << "buzz" }.to raise_error(RuntimeError, "can't modify frozen String") + end + + it "strings in arrays should be frozen" do + @attributes.default["foo"]["bar"] = [ "fizz" ] + expect { @attributes["foo"]["bar"][0] << "buzz" }.to raise_error(RuntimeError, "can't modify frozen String") + end + end end |