diff options
Diffstat (limited to 'spec/unit/util/warnings_spec_spec.rb')
-rwxr-xr-x | spec/unit/util/warnings_spec_spec.rb | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/spec/unit/util/warnings_spec_spec.rb b/spec/unit/util/warnings_spec_spec.rb new file mode 100755 index 000000000..15785cf58 --- /dev/null +++ b/spec/unit/util/warnings_spec_spec.rb @@ -0,0 +1,39 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../spec_helper' + +describe Puppet::Util::Warnings do + before(:all) do + @msg1 = "booness" + @msg2 = "more booness" + end + + {:notice => "notice_once", :warning => "warnonce"}.each do |log, method| + describe "when registring '%s' messages" % log do + it "should always return nil" do + Puppet::Util::Warnings.send(method, @msg1).should be(nil) + end + + it "should issue a warning" do + Puppet.expects(log).with(@msg1) + Puppet::Util::Warnings.send(method, @msg1) + end + + it "should issue a warning exactly once per unique message" do + Puppet.expects(log).with(@msg1).once + Puppet::Util::Warnings.send(method, @msg1) + Puppet::Util::Warnings.send(method, @msg1) + end + + it "should issue multiple warnings for multiple unique messages" do + Puppet.expects(log).times(2) + Puppet::Util::Warnings.send(method, @msg1) + Puppet::Util::Warnings.send(method, @msg2) + end + end + end + + after(:each) do + Puppet::Util::Warnings.clear_warnings() + end +end |