spec/syslogger_spec.rb in syslogger-1.2.3 vs spec/syslogger_spec.rb in syslogger-1.2.4
- old
+ new
@@ -5,32 +5,32 @@
logger = Syslogger.new
Syslog.should_receive(:open).with($0, Syslog::LOG_PID | Syslog::LOG_CONS, nil).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
logger.warn "Some message"
end
-
+
it "should log to the user facility, with specific options" do
logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_NOTICE, "Some message")
logger.warn "Some message"
end
-
+
%w{debug info warn error fatal unknown}.each do |logger_method|
it "should respond to the #{logger_method.inspect} method" do
Syslogger.new.should respond_to logger_method.to_sym
end
end
-
+
it "should respond to <<" do
logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
logger.should respond_to(:<<)
Syslog.should_receive(:open).with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_INFO, "yop")
logger << "yop"
end
-
+
describe "add" do
before do
@logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
end
it "should respond to add" do
@@ -49,11 +49,11 @@
it "should use the given progname" do
Syslog.should_receive(:open).with("progname", Syslog::LOG_PID, Syslog::LOG_USER).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_INFO, "message")
@logger.add(Logger::INFO, "message", "progname") { "my message" }
end
-
+
it "should substitute '%' for '%%' before adding the :message" do
Syslog.stub(:open).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_INFO, "%%me%%ssage%%")
@logger.add(Logger::INFO, "%me%ssage%")
end
@@ -61,61 +61,79 @@
it "should strip the :message" do
Syslog.stub(:open).and_yield(syslog=mock("syslog", :mask= => true))
syslog.should_receive(:log).with(Syslog::LOG_INFO, "message")
@logger.add(Logger::INFO, "\n\nmessage ")
end
+
+ it "should not raise exception if asked to log with a nil message and body" do
+ Syslog.should_receive(:open).
+ with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).
+ and_yield(syslog=mock("syslog", :mask= => true))
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "my_app")
+ lambda {
+ @logger.add(Logger::INFO, nil)
+ }.should_not raise_error
+ end
+
+ it "should use given progname as the message if the message and block are nil" do
+ Syslog.should_receive(:open).
+ with("my_app", Syslog::LOG_PID, Syslog::LOG_USER).
+ and_yield(syslog=mock("syslog", :mask= => true))
+ syslog.should_receive(:log).with(Syslog::LOG_INFO, "my_app")
+ @logger.add(Logger::INFO, nil)
+ end
end # describe "add"
-
+
describe ":level? methods" do
before(:each) do
@logger = Syslogger.new("my_app", Syslog::LOG_PID, Syslog::LOG_USER)
end
-
+
%w{debug info warn error fatal}.each do |logger_method|
it "should respond to the #{logger_method}? method" do
@logger.should respond_to "#{logger_method}?".to_sym
end
end
-
+
it "should not have unknown? method" do
@logger.should_not respond_to :unknown?
end
-
+
it "should return true for all methods" do
@logger.level = Logger::DEBUG
%w{debug info warn error fatal}.each do |logger_method|
@logger.send("#{logger_method}?").should be_true
end
end
-
+
it "should return true for all except debug?" do
@logger.level = Logger::INFO
%w{info warn error fatal}.each do |logger_method|
@logger.send("#{logger_method}?").should be_true
end
@logger.debug?.should be_false
end
-
+
it "should return true for warn?, error? and fatal? when WARN" do
@logger.level = Logger::WARN
%w{warn error fatal}.each do |logger_method|
@logger.send("#{logger_method}?").should be_true
end
%w{debug info}.each do |logger_method|
@logger.send("#{logger_method}?").should be_false
end
end
-
+
it "should return true for error? and fatal? when ERROR" do
@logger.level = Logger::ERROR
%w{error fatal}.each do |logger_method|
@logger.send("#{logger_method}?").should be_true
end
%w{warn debug info}.each do |logger_method|
@logger.send("#{logger_method}?").should be_false
end
end
-
+
it "should return true only for fatal? when FATAL" do
@logger.level = Logger::FATAL
@logger.fatal?.should be_true
%w{error warn debug info}.each do |logger_method|
@logger.send("#{logger_method}?").should be_false