summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorLamont Granquist <lamont@scriptkiddie.org>2017-03-15 12:05:43 -0700
committerLamont Granquist <lamont@scriptkiddie.org>2017-03-15 12:05:43 -0700
commitb37436b080ff3733736e70d1343d5f328ed840e4 (patch)
treee1de2ad7e6158d4406c591aae63b0bc9062ba6d8 /spec
parent645054783c587301c3c1226581df5cfcd0a9b947 (diff)
downloadchef-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.rb12
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