From b2146e865992a143b1305c9e0a87025f061c1051 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Tue, 22 Jul 2014 14:08:11 -0400 Subject: [PATCH 1/3] Store log messages in an array of messages. --- lib/jekyll/log_adapter.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/jekyll/log_adapter.rb b/lib/jekyll/log_adapter.rb index 63e23fcd..88a90d26 100644 --- a/lib/jekyll/log_adapter.rb +++ b/lib/jekyll/log_adapter.rb @@ -87,7 +87,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 @@ -98,5 +100,12 @@ module Jekyll def formatted_topic(topic) "#{topic} ".rjust(20) end + + # Public: All the messages Stevenson has printed so far + # + # Returns an Array of all messages Stevenson has built so far using #message + def messages + @messages ||= Array.new + end end end From 7fc47bfc4367da1612c02760e67d2e61c42708a3 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Mon, 29 Dec 2014 01:08:42 -0500 Subject: [PATCH 2/3] Initialize @messages at instantiation time. --- lib/jekyll/log_adapter.rb | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/jekyll/log_adapter.rb b/lib/jekyll/log_adapter.rb index 88a90d26..46e0fe1f 100644 --- a/lib/jekyll/log_adapter.rb +++ b/lib/jekyll/log_adapter.rb @@ -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 @@ -100,12 +101,5 @@ module Jekyll def formatted_topic(topic) "#{topic} ".rjust(20) end - - # Public: All the messages Stevenson has printed so far - # - # Returns an Array of all messages Stevenson has built so far using #message - def messages - @messages ||= Array.new - end end end From 1fc99bdd9772d9c52ffc4d2aebdd04a998333f6b Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Mon, 29 Dec 2014 01:14:13 -0500 Subject: [PATCH 3/3] Test LogAdapter#messages --- test/test_log_adapter.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/test_log_adapter.rb b/test/test_log_adapter.rb index 3dd3465e..71272569 100644 --- a/test/test_log_adapter.rb +++ b/test/test_log_adapter.rb @@ -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