Sha256: 245b2d5094fcae254c21b0a1c67ea7b187a7d6dbf995e48b928d187a03e54cf4

Contents?: true

Size: 1.15 KB

Versions: 13

Compression:

Stored size: 1.15 KB

Contents

describe Nanoc::CLI::Commands::Compile::Listener 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

  subject { klass.new }

  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

  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

13 entries across 13 versions & 1 rubygems

Version Path
nanoc-4.7.0 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.6.4 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.6.3 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.6.2 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.6.1 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.6.0 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.5.4 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.5.3 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.5.2 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.5.1 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.5.0 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.4.7 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.4.6 spec/nanoc/cli/commands/compile_spec.rb