Sha256: b50d05ba3b50a30a5c8424400283d21ac47062755b527967d74a4f73858f4a28
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
# frozen_string_literal: true describe Nanoc::CLI::Commands::CompileListeners::Abstract do subject { klass.new } context 'abstract class' do let(:klass) { described_class } it 'errors on starting' do expect { subject.start }.to raise_error(NotImplementedError) end it 'stops silently' do subject.stop end end context 'concrete subclass' do let(:klass) do Class.new(described_class) do attr_reader :started attr_reader :stopped def initialize @started = false @stopped = false end def start @started = true end def stop @stopped = true end end end it 'starts' do subject.start expect(subject.started).to be end it 'stops' do subject.start subject.stop expect(subject.stopped).to be end it 'starts safely' do subject.start_safely expect(subject.started).to be end it 'stops safely' do subject.start_safely subject.stop_safely expect(subject.stopped).to be end end context 'listener that does not start or stop properly' do let(:klass) do Class.new(described_class) do def start raise 'boom' end def stop raise 'boom' end end end it 'raises on start, but not stop' do expect { subject.start_safely }.to raise_error(RuntimeError) expect { subject.stop_safely }.not_to raise_error end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
nanoc-4.8.12 | spec/nanoc/cli/commands/compile/abstract_spec.rb |
nanoc-4.8.11 | spec/nanoc/cli/commands/compile/abstract_spec.rb |
nanoc-4.8.10 | spec/nanoc/cli/commands/compile/abstract_spec.rb |