summaryrefslogtreecommitdiffstats
path: root/spec
diff options
context:
space:
mode:
authorPeter Meier <peter.meier@immerda.ch>2009-11-07 12:10:29 +0100
committerJames Turnbull <james@lovedthanlost.net>2009-11-07 22:16:14 +1100
commit810980659d86a30cc9dde6018a4749f659fe2d00 (patch)
tree5acfd02792ec3822a5b7ca3c51194f8cbce9787a /spec
parentb2c1ca56ebc7ec78c71a1fbf6026411494214e67 (diff)
downloadfacter-810980659d86a30cc9dde6018a4749f659fe2d00.tar.gz
facter-810980659d86a30cc9dde6018a4749f659fe2d00.tar.xz
facter-810980659d86a30cc9dde6018a4749f659fe2d00.zip
introduce a warn mechanism for debugging
We can now warn messages that will be passed to Kernel.warn if debugging is enabled.
Diffstat (limited to 'spec')
-rwxr-xr-xspec/unit/facter.rb73
1 files changed, 73 insertions, 0 deletions
diff --git a/spec/unit/facter.rb b/spec/unit/facter.rb
index f248aa7..9f7b4cf 100755
--- a/spec/unit/facter.rb
+++ b/spec/unit/facter.rb
@@ -131,6 +131,79 @@ describe Facter do
Facter.should respond_to(:search_path)
end
+ it "should have a method to query debugging mode" do
+ Facter.should respond_to(:debugging?)
+ end
+
+ it "should have a method to warn" do
+ Facter.should respond_to(:warn)
+ end
+
+ describe "when warning" do
+ it "should warn if debugging is enabled" do
+ Facter.debugging(true)
+ Kernel.stubs(:warn)
+ Kernel.expects(:warn).with('foo')
+ Facter.warn('foo')
+ end
+
+ it "should not warn if debugging is enabled but nil is passed" do
+ Facter.debugging(true)
+ Kernel.stubs(:warn)
+ Kernel.expects(:warn).never
+ Facter.warn(nil)
+ end
+
+ it "should not warn if debugging is enabled but an empyt string is passed" do
+ Facter.debugging(true)
+ Kernel.stubs(:warn)
+ Kernel.expects(:warn).never
+ Facter.warn('')
+ end
+
+ it "should not warn if debugging is disabled" do
+ Facter.debugging(false)
+ Kernel.stubs(:warn)
+ Kernel.expects(:warn).never
+ Facter.warn('foo')
+ end
+
+ it "should warn for any given element for an array if debugging is enabled" do
+ Facter.debugging(true)
+ Kernel.stubs(:warn)
+ Kernel.expects(:warn).with('foo')
+ Kernel.expects(:warn).with('bar')
+ Facter.warn( ['foo','bar'])
+ end
+ end
+
+ describe "when setting debugging mode" do
+ it "should have debugging enabled using 1" do
+ Facter.debugging(1)
+ Facter.should be_debugging
+ end
+ it "should have debugging enabled using true" do
+ Facter.debugging(true)
+ Facter.should be_debugging
+ end
+ it "should have debugging enabled using any string except off" do
+ Facter.debugging('aaaaa')
+ Facter.should be_debugging
+ end
+ it "should have debugging disabled using 0" do
+ Facter.debugging(0)
+ Facter.should_not be_debugging
+ end
+ it "should have debugging disabled using false" do
+ Facter.debugging(false)
+ Facter.should_not be_debugging
+ end
+ it "should have debugging disabled using the string 'off'" do
+ Facter.debugging('off')
+ Facter.should_not be_debugging
+ end
+ end
+
describe "when registering directories to search" do
after { Facter.instance_variable_set("@search_path", []) }