| require File.dirname(__FILE__) + '/../test_helper' |
| require 'pathname' |
| |
| class LoggerTest < MiniTest::Test |
| |
| class InterceptedLogger < Sass::Logger::Base |
| |
| attr_accessor :messages |
| |
| def initialize(*args) |
| super |
| self.messages = [] |
| end |
| |
| def reset! |
| self.messages = [] |
| end |
| |
| def _log(*args) |
| messages << [args] |
| end |
| |
| end |
| |
| def test_global_sass_logger_instance_exists |
| assert Sass.logger.respond_to?(:warn) |
| end |
| |
| def test_log_level_orders |
| logged_levels = { |
| :trace => [ [], [:trace, :debug, :info, :warn, :error]], |
| :debug => [ [:trace], [:debug, :info, :warn, :error]], |
| :info => [ [:trace, :debug], [:info, :warn, :error]], |
| :warn => [ [:trace, :debug, :info], [:warn, :error]], |
| :error => [ [:trace, :debug, :info, :warn], [:error]] |
| } |
| logged_levels.each do |level, (should_not_be_logged, should_be_logged)| |
| logger = Sass::Logger::Base.new(level) |
| should_not_be_logged.each do |should_level| |
| assert !logger.logging_level?(should_level) |
| end |
| should_be_logged.each do |should_level| |
| assert logger.logging_level?(should_level) |
| end |
| end |
| end |
| |
| def test_logging_can_be_disabled |
| logger = InterceptedLogger.new |
| logger.error("message #1") |
| assert_equal 1, logger.messages.size |
| logger.reset! |
| logger.disabled = true |
| logger.error("message #2") |
| assert_equal 0, logger.messages.size |
| end |
| end |