forked from sass/sass
/
logger_test.rb
59 lines (49 loc) · 1.48 KB
/
logger_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../test_helper'
require 'pathname'
class LoggerTest < Test::Unit::TestCase
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
# (require 'ruby-debug'; debugger)
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