52 lines
1.2 KiB
Ruby
52 lines
1.2 KiB
Ruby
module Uh
|
|
module WM
|
|
RSpec.describe Env do
|
|
let(:output) { StringIO.new }
|
|
let(:logger) { Logger.new(StringIO.new) }
|
|
subject(:env) { described_class.new output, logger: logger }
|
|
|
|
it 'has verbose mode disabled' do
|
|
expect(env).not_to be_verbose
|
|
end
|
|
|
|
describe '#verbose?' do
|
|
context 'when verbose mode is disabled' do
|
|
before { env.verbose = false }
|
|
|
|
it 'returns false' do
|
|
expect(env.verbose?).to be false
|
|
end
|
|
end
|
|
|
|
context 'when verbose mode is enabled' do
|
|
before { env.verbose = true }
|
|
|
|
it 'returns true' do
|
|
expect(env.verbose?).to be true
|
|
end
|
|
end
|
|
end
|
|
|
|
describe '#logger' do
|
|
it 'returns a logger' do
|
|
expect(env.logger).to be_a ::Logger
|
|
end
|
|
end
|
|
|
|
describe '#log' do
|
|
it 'logs given message at info level' do
|
|
expect(logger).to receive(:info).with 'some message'
|
|
env.log 'some message'
|
|
end
|
|
end
|
|
|
|
describe '#print' do
|
|
it 'prints the message to the output' do
|
|
env.print 'some message'
|
|
expect(output.string).to eq 'some message'
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|