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