summaryrefslogtreecommitdiffstats
path: root/spec/unit/util/warnings_spec_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/util/warnings_spec_spec.rb')
-rwxr-xr-xspec/unit/util/warnings_spec_spec.rb39
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