Sha256: 0c2f546d43d1f45c609626f9c3f1d845da5a173644b3851e342c6890033cb386

Contents?: true

Size: 980 Bytes

Versions: 2

Compression:

Stored size: 980 Bytes

Contents

require 'spec_helper'
require 'commander/configure'

describe Commander do
  describe '.configure' do
    it 'calls the given block' do
      expect { Commander.configure { throw :block_called } }.to throw_symbol(:block_called)
    end

    describe 'called block' do
      before(:each) do
        allow(Commander::Runner.instance).to receive(:run!)
      end

      it 'provides Commander configuration methods' do
        Commander.configure {
          program :name, 'test'
        }

        expect(Commander::Runner.instance.program(:name)).to eq('test')
      end

      it 'passes all arguments to the block' do
        Commander.configure('foo') { |first_arg|
          program :name, first_arg
        }

        expect(Commander::Runner.instance.program(:name)).to eq('foo')
      end
    end

    it 'calls Runner#run! after calling the configuration block' do
      expect(Commander::Runner.instance).to receive(:run!)
      Commander.configure {}
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
commander-4.2.1 spec/configure_spec.rb
commander-4.2.0 spec/configure_spec.rb