diff options
author | Peter Meier <peter.meier@immerda.ch> | 2009-11-07 12:10:29 +0100 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-11-07 22:16:14 +1100 |
commit | 810980659d86a30cc9dde6018a4749f659fe2d00 (patch) | |
tree | 5acfd02792ec3822a5b7ca3c51194f8cbce9787a /spec | |
parent | b2c1ca56ebc7ec78c71a1fbf6026411494214e67 (diff) | |
download | facter-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-x | spec/unit/facter.rb | 73 |
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", []) } |