6 require 'mcollective/logger/console_logger'
9 describe Console_logger do
11 it "should default to :info and allow the config to override" do
12 logger = Console_logger.new
13 logger.expects(:set_level).with(:info)
14 Config.instance.expects(:configured).returns(true)
15 Config.instance.expects(:loglevel).returns("error")
16 logger.expects(:set_level).with(:error)
22 it "should not colorize if color was disabled" do
23 logger = Console_logger.new
24 Config.instance.stubs(:color).returns(false)
25 logger.color(:error).should == ""
26 logger.color(:reset).should == ""
29 it "should correctly colorize by level" do
30 logger = Console_logger.new
31 Config.instance.stubs(:color).returns(true)
32 logger.color(:error).should == Util.color(:red)
33 logger.color(:reset).should == Util.color(:reset)
38 it "should log higher than configured levels" do
40 io.expects(:puts).with("error 2012/07/03 15:11:35: rspec message")
43 time.expects(:strftime).returns("2012/07/03 15:11:35")
45 Time.expects(:new).returns(time)
47 Config.instance.stubs(:color).returns(false)
48 logger = Console_logger.new
49 logger.set_level(:warn)
50 logger.log(:error, "rspec", "message", io)
53 it "should resort to STDERR output if all else fails" do
55 io.expects(:puts).raises
57 last_resort_io = StringIO.new
58 last_resort_io.expects(:puts).with("warn: message")
60 logger = Console_logger.new
61 logger.set_level(:debug)
62 logger.log(:warn, "rspec", "message", io, last_resort_io)