diff options
author | John Keiser <john@johnkeiser.com> | 2015-08-31 14:38:50 -0700 |
---|---|---|
committer | John Keiser <john@johnkeiser.com> | 2015-09-01 19:30:43 -0700 |
commit | 25dac92eeb1ffa83ec549bfed0b19672c5847d80 (patch) | |
tree | f5292bfb261d40f1bbe3bdfa2845de87245f78d4 /spec/unit/property_spec.rb | |
parent | ad8fd4d65b48519ac154ad9bf9774322b0c6d902 (diff) | |
download | chef-25dac92eeb1ffa83ec549bfed0b19672c5847d80.tar.gz |
Pass deprecations through formatter instead of logs
Diffstat (limited to 'spec/unit/property_spec.rb')
-rw-r--r-- | spec/unit/property_spec.rb | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/spec/unit/property_spec.rb b/spec/unit/property_spec.rb index 55eaead9ba..a9b592ec46 100644 --- a/spec/unit/property_spec.rb +++ b/spec/unit/property_spec.rb @@ -462,22 +462,26 @@ describe "Chef::Resource.property" do end context "hash default" do - with_property ':x, default: {}' do - it "when x is not set, it returns {}" do - expect(resource.x).to eq({}) - end - it "The same exact value is returned multiple times in a row" do - value = resource.x - expect(value).to eq({}) - expect(resource.x.object_id).to eq(value.object_id) - end - it "Multiple instances of x receive the exact same value" do - expect(resource.x.object_id).to eq(resource_class.new('blah2').x.object_id) + context "(deprecations allowed)" do + before { Chef::Config[:treat_deprecation_warnings_as_errors] = false } + + with_property ':x, default: {}' do + it "when x is not set, it returns {}" do + expect(resource.x).to eq({}) + end + it "The same exact value is returned multiple times in a row" do + value = resource.x + expect(value).to eq({}) + expect(resource.x.object_id).to eq(value.object_id) + end + it "Multiple instances of x receive the exact same value" do + expect(resource.x.object_id).to eq(resource_class.new('blah2').x.object_id) + end end end it "when a property is declared with default: {}, a warning is issued" do - expect(Chef::Log).to receive(:warn).with(match(/^Property .+\.x has an array or hash default \(\{\}\)\. This means that if one resource modifies or appends to it, all other resources of the same type will also see the changes\. Either freeze the constant with \`\.freeze\` to prevent appending, or use lazy \{ \{\} \}\.$/)) + expect(Chef::Log).to receive(:deprecation).with(match(/^Property .+\.x has an array or hash default \(\{\}\)\. This means that if one resource modifies or appends to it, all other resources of the same type will also see the changes\. Either freeze the constant with \`\.freeze\` to prevent appending, or use lazy \{ \{\} \}\.$/)) resource_class.class_eval("property :x, default: {}", __FILE__, __LINE__) expect(resource.x).to eq({}) end |