Merge pull request #3244 from jekyll/store-messages
This commit is contained in:
commit
7cd5847826
|
@ -1,6 +1,6 @@
|
|||
module Jekyll
|
||||
class LogAdapter
|
||||
attr_reader :writer
|
||||
attr_reader :writer, :messages
|
||||
|
||||
LOG_LEVELS = {
|
||||
:debug => ::Logger::DEBUG,
|
||||
|
@ -16,6 +16,7 @@ module Jekyll
|
|||
#
|
||||
# Returns nothing
|
||||
def initialize(writer, level = :info)
|
||||
@messages = []
|
||||
@writer = writer
|
||||
self.log_level = level
|
||||
end
|
||||
|
@ -87,7 +88,9 @@ module Jekyll
|
|||
#
|
||||
# Returns the formatted message
|
||||
def message(topic, message)
|
||||
formatted_topic(topic) + message.to_s.gsub(/\s+/, ' ')
|
||||
msg = formatted_topic(topic) + message.to_s.gsub(/\s+/, ' ')
|
||||
messages << msg
|
||||
msg
|
||||
end
|
||||
|
||||
# Internal: Format the topic
|
||||
|
|
|
@ -3,6 +3,11 @@ require 'helper'
|
|||
class TestLogAdapter < Test::Unit::TestCase
|
||||
class LoggerDouble
|
||||
attr_accessor :level
|
||||
|
||||
def debug(*); end
|
||||
def info(*); end
|
||||
def warn(*); end
|
||||
def error(*); end
|
||||
end
|
||||
|
||||
context "#log_level=" do
|
||||
|
@ -56,4 +61,20 @@ class TestLogAdapter < Test::Unit::TestCase
|
|||
assert_raise(SystemExit) { logger.abort_with('topic', 'log message') }
|
||||
end
|
||||
end
|
||||
|
||||
context "#messages" do
|
||||
should "return an array" do
|
||||
assert_equal [], Jekyll::LogAdapter.new(LoggerDouble.new).messages
|
||||
end
|
||||
|
||||
should "store each log value in the array" do
|
||||
logger = Jekyll::LogAdapter.new(LoggerDouble.new)
|
||||
values = %w{one two three four}
|
||||
logger.debug(values[0])
|
||||
logger.info(values[1])
|
||||
logger.warn(values[2])
|
||||
logger.error(values[3])
|
||||
assert_equal values.map { |value| "#{value} ".rjust(20) }, logger.messages
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue