Sha256: a389aa21803b02cca38db73daafc49182cb41037beb998acf4f431209976f512

Contents?: true

Size: 1.47 KB

Versions: 4

Compression:

Stored size: 1.47 KB

Contents

require File.dirname(__FILE__) + "/../test_helper"

module DeepTest
  unit_tests do
    test "info log level by default" do
      assert_equal Logger::INFO, DeepTest.logger.level
    end
    
    test "formatter uses msg only" do
      time = Time.parse("2009-09-22 12:01:33")
      assert_equal "[DeepTest@#{Socket.gethostname}] 2009-09-22 12:01:33 my_msg\n", DeepTest.logger.formatter.call(nil, time, nil, "my_msg")
    end

    Logger::Severity.constants.each do |severity|
      test "#{severity.downcase} can not be called with any arguments" do
        logger = Logger.new stub_everything
        assert_raises(ArgumentError) { logger.send severity.downcase, "a"  }
      end

      THE_DATE = '\d{4}-\d\d-\d\d \d\d:\d\d:\d\d' unless defined?(THE_DATE)

      test "#{severity.downcase} can be called with a block" do
        logger = Logger.new(out = StringIO.new)
        logger.level = Logger.const_get(severity)
        logger.send(severity.downcase) { "a" }
        assert_match /\[DeepTest@#{Socket.gethostname}\] #{THE_DATE} a\n/, out.string
      end

      test "#{severity.downcase} rescues errors from block and logs them" do
        logger = Logger.new(out = StringIO.new)
        logger.level = Logger.const_get(severity)
        logger.send(severity.downcase) { raise Exception, "e" }
        assert_match /\[DeepTest@#{Socket.gethostname}\] #{THE_DATE} Exception: e occurred logging on #{__FILE__}:#{__LINE__ - 1}:in `send'\n/,
                    out.string
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
deep_test_pre-2.0 test/deep_test/logger_test.rb
jstorimer-deep-test-2.0.0 test/deep_test/logger_test.rb
jstorimer-deep-test-0.2.0 test/deep_test/logger_test.rb
jstorimer-deep-test-0.1.0 test/deep_test/logger_test.rb