Sha256: 8c29667a2844f5cd0c9da14c008c0184204859575934ed531ed8c794e87e1918

Contents?: true

Size: 1.19 KB

Versions: 15

Compression:

Stored size: 1.19 KB

Contents

# frozen_string_literal: true

describe Nanoc::CLI::Commands::CompileListeners::Abstract 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

15 entries across 15 versions & 1 rubygems

Version Path
nanoc-4.8.9 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.8 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.7 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.6 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.5 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.4 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.3 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.2 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.1 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.8.0 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.7.14 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.7.13 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.7.12 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.7.11 spec/nanoc/cli/commands/compile_spec.rb
nanoc-4.7.10 spec/nanoc/cli/commands/compile_spec.rb