Sha256: 7c74e7b96f8475bc8ce08376caa3c226e16dc3b15b8feb489a57464537634128

Contents?: true

Size: 1.73 KB

Versions: 11

Compression:

Stored size: 1.73 KB

Contents

require 'test/unit'
require 'rubygems'
require 'wunderbar'
require 'logger'

class TestLogger
  attr_accessor :messages
  def initialize
    @messages = Hash.new {|hash, key| hash[key] = Array.new}
    @original_logger = Wunderbar.logger
    logger = self
    Wunderbar.instance_eval {@logger = logger}
  end

  def method_missing(method, *args)
    if [:debug, :info, :warn, :error, :fatal].include? method
      @messages[method] << args.first
    else
      @original_logger.send(method, *args)
    end
  end

  def teardown
    logger = @original_logger
    Wunderbar.instance_eval {@logger = logger}
  end
end

class LoggerTest < Test::Unit::TestCase
  def setup
    @logger = TestLogger.new
  end

  def teardown
    @logger.teardown
  end

  def test_debug
    Wunderbar.debug 'Sneezy'
    assert @logger.messages[:debug].include? 'Sneezy'
  end

  def test_info
    Wunderbar.info 'Sleepy'
    assert @logger.messages[:info].include? 'Sleepy'
  end

  def test_warn
    Wunderbar.warn 'Dopey'
    assert @logger.messages[:warn].include? 'Dopey'
  end

  def test_error
    Wunderbar.error 'Doc'
    assert @logger.messages[:error].include? 'Doc'
  end

  def test_fatal
    Wunderbar.fatal 'Happy'
    assert @logger.messages[:fatal].include? 'Happy'
  end

  def test_loglevel
    assert Wunderbar.logger.level == Logger::WARN
    Wunderbar.log_level = 'debug'
    assert Wunderbar.logger.level == Logger::DEBUG
    Wunderbar.log_level = 'info'
    assert Wunderbar.logger.level == Logger::INFO
    Wunderbar.log_level = 'warn'
    assert Wunderbar.logger.level == Logger::WARN
    Wunderbar.log_level = 'error'
    assert Wunderbar.logger.level == Logger::ERROR
    Wunderbar.log_level = 'fatal'
    assert Wunderbar.logger.level == Logger::FATAL
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
wunderbar-0.8.13 test/test_logger.rb
wunderbar-0.8.12 test/test_logger.rb
wunderbar-0.8.11 test/test_logger.rb
wunderbar-0.8.10 test/test_logger.rb
wunderbar-0.8.9 test/test_logger.rb
wunderbar-0.8.8 test/test_logger.rb
wunderbar-0.8.7 test/test_logger.rb
wunderbar-0.8.6 test/test_logger.rb
wunderbar-0.8.5 test/test_logger.rb
wunderbar-0.8.4 test/test_logger.rb
wunderbar-0.8.3 test/test_logger.rb