25 lines
625 B
Ruby
25 lines
625 B
Ruby
# A shared context that allows you to check the output of Hashie's logger.
|
|
#
|
|
# @example
|
|
# include_context 'with a logger'
|
|
#
|
|
# it 'logs info message' do
|
|
# Hashie.logger.info 'What is happening in here?!'
|
|
#
|
|
# expect(logger_output).to match('What is happening in here?!')
|
|
# end
|
|
RSpec.shared_context 'with a logger' do
|
|
# @private
|
|
let(:log) { StringIO.new }
|
|
|
|
# The output string from the logger
|
|
let(:logger_output) { log.rewind && log.string }
|
|
|
|
around(:each) do |example|
|
|
original_logger = Hashie.logger
|
|
Hashie.logger = Logger.new(log)
|
|
example.run
|
|
Hashie.logger = original_logger
|
|
end
|
|
end
|