spec/logging_spec.rb in ougai-1.6.3 vs spec/logging_spec.rb in ougai-1.6.4
- old
+ new
@@ -1,18 +1,54 @@
require 'spec_helper'
describe Ougai::Logging do
- describe '#weak_merge!' do
- let(:target) { m = described_class; Class.new{ include m }.new }
+ subject do
+ m = described_class
+ Class.new { include m }.new
+ end
+ describe '#weak_merge!' do
it 'merges with unique elements in array' do
result = nil
- target.instance_eval do
+ subject.instance_eval do
result = weak_merge!({ foo: [1, 2], bar: 'base', baz: ['A'] },
{ foo: [2, 3], bar: 'inferior', baz: ['B'] })
end
expect(result[:foo]).to eq([2, 3, 1])
expect(result[:bar]).to eq('base')
expect(result[:baz]).to eq(['B', 'A'])
+ end
+ end
+
+ describe '#child' do
+ let!(:fields) { double('fields') }
+ let!(:child_logger) { double('child logger') }
+
+ context 'block is not given' do
+ it 'returns child logger' do
+ expect(Ougai::ChildLogger).to receive(:new).with(subject, fields).and_return(child_logger)
+ expect(subject.child(fields)).to eq(child_logger)
+ end
+ end
+
+ context 'block is given' do
+ it 'passes child logger' do
+ expect(Ougai::ChildLogger).to receive(:new).with(subject, fields).and_return(child_logger)
+ subject.child(fields) do |cl|
+ expect(cl).to eq(child_logger)
+ end
+ end
+ end
+ end
+
+ describe '#chain' do
+ it 'is not implemented' do
+ expect{ subject.chain(:arg1, :arg2, :arg3, :arg4) }.to raise_error(NotImplementedError)
+ end
+ end
+
+ describe '#append' do
+ it 'is not implemented' do
+ expect{ subject.send(:append, :arg1, :arg2) }.to raise_error(NotImplementedError)
end
end
end