spec/syslogger_spec.rb in syslogger-1.2.0 vs spec/syslogger_spec.rb in syslogger-1.2.1

- old
+ new

@@ -49,8 +49,67 @@ 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 - end - # TODO: test logger level -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 + end + end + end # describe ":level? methods" + +end # describe "Syslogger"