util.rb
53 lines
| 1.2 KiB
| text/x-ruby
|
RubyLexer
|
r2376 | # Utilities that are only used in the testing code | ||
require 'stringio' | ||||
module OpenID | ||||
module TestUtil | ||||
def assert_log_matches(*regexes) | ||||
begin | ||||
old_logger = Util.logger | ||||
log_output = StringIO.new | ||||
Util.logger = Logger.new(log_output) | ||||
result = yield | ||||
ensure | ||||
Util.logger = old_logger | ||||
end | ||||
log_output.rewind | ||||
log_lines = log_output.readlines | ||||
assert_equal(regexes.length, log_lines.length, | ||||
[regexes, log_lines].inspect) | ||||
log_lines.zip(regexes) do |line, regex| | ||||
assert_match(regex, line) | ||||
end | ||||
result | ||||
end | ||||
def assert_log_line_count(num_lines) | ||||
begin | ||||
old_logger = Util.logger | ||||
log_output = StringIO.new | ||||
Util.logger = Logger.new(log_output) | ||||
result = yield | ||||
ensure | ||||
Util.logger = old_logger | ||||
end | ||||
log_output.rewind | ||||
log_lines = log_output.readlines | ||||
assert_equal(num_lines, log_lines.length) | ||||
result | ||||
end | ||||
def silence_logging | ||||
begin | ||||
old_logger = Util.logger | ||||
log_output = StringIO.new | ||||
Util.logger = Logger.new(log_output) | ||||
result = yield | ||||
ensure | ||||
Util.logger = old_logger | ||||
end | ||||
result | ||||
end | ||||
end | ||||
end | ||||