spec/slogger/common_logger_spec.rb in slogger-0.0.5 vs spec/slogger/common_logger_spec.rb in slogger-0.0.6

- old
+ new

@@ -1,10 +1,10 @@ require File.join(File.dirname(__FILE__), "..", "/spec_helper") describe Slogger::CommonLogger do subject { Slogger::CommonLogger.new "test_app", :debug, :local0 } - + describe "valid state" do it "should have an app_name attribute" do subject.app_name.should == "test_app" end @@ -40,25 +40,32 @@ end describe "severity setup" do it "should be possible to change severity attribute" do subject.severity.should be :debug - subject.severity = :warning - subject.severity.should be :warning + subject.severity = :warn + subject.severity.should be :warn subject.severity = :info subject.severity.should be :info end it "should raise ArgumentError if try to change severity attribute to a invalid one" do lambda { subject.severity = :junk }.should raise_error end end describe "logging" do - describe "when is in WARNING severity" do - subject { Slogger::CommonLogger.new "test_app", :warning, :local0 } - + describe "when is in WARN severity" do + subject { Slogger::CommonLogger.new "test_app", :warn, :local0 } + + it { should respond_to(:add) } + + it "should log ERROR messsages with the add method" do + Syslog.should_receive(:err).with('ERROR message').and_return(Syslog) + subject.add(:error, 'ERROR message') + end + it "should log UNKNOW messages" do Syslog.should_receive(:emerg).with(anything).and_return(Syslog) subject.unknow "UNKNOW message" end @@ -72,15 +79,20 @@ it "should log ERROR messages" do Syslog.should_receive(:err).with(anything).and_return(Syslog) subject.error "ERROR message" end - - it "should log WARNING messages" do + + it "should log WARN messsages with the add method to the WARNING severity" do + Syslog.should_receive(:warning).with('WARN message').and_return(Syslog) + subject.add(:warn, 'WARN message') + end + + it "should log WARN messages to the WARNING severity" do Syslog.should_receive(:warning).with(anything).and_return(Syslog) - subject.warning "WARNING message" + subject.warn "WARN message" end it "shouldn't log INFO messages" do Syslog.should_not_receive(:info).with(anything).and_return(Syslog) @@ -95,14 +107,29 @@ subject.info "INFO message" end end end - + + describe "when no message is passed to the log method" do + it "should use the block to form the message" do + subject.severity = :info + + messenger = mock('messenger') + messenger.should_receive(:message).and_return('this is a message %{name}') + + Syslog.should_receive(:info).with('this is a message logger').and_return(Syslog) + + subject.info { messenger.message % {:name => 'logger'} } + end + end + describe "when a block is passed to log method" do it "should add spent time to the message" do + Syslog.should_receive(:info).with(/\[time: [0-9.]+\] a block wrapped by log/) + subject.info "a block wrapped by log" do - sleep(2) + sleep(1) end end end end