Sha256: 1e937525e558639459c1c2b4e41eb0f2a207f6b6b71c6e7590ca959f401759fd

Contents?: true

Size: 1.46 KB

Versions: 1

Compression:

Stored size: 1.46 KB

Contents

require File.dirname(__FILE__) + '/../../spec_helper'

describe Sprinkle::Installers::Pear do
  before do
    @pear = 'Log'
    @pear2 = 'Test'
  end

  describe 'with one package' do
    before do
      @package = mock(Sprinkle::Package, :name => 'pear test', :source => nil, :repository => nil)
      @installer = Sprinkle::Installers::Pear.new(@package, @pear)
    end

    it 'should accept a single package to install' do
      @installer.packages.should == [@pear]
    end
  end

  describe 'with two packages' do
        before do
      @package = mock(Sprinkle::Package, :name => 'pear test', :source => nil, :repository => nil)
      @installer = Sprinkle::Installers::Pear.new(@package, @pear, @pear2)
    end

    it 'should accept two packages to install' do
      @installer.packages.should == [@pear, @pear2]
    end
  end

  describe 'during installation' do
    before do
      @package = mock(Sprinkle::Package, :name => 'pear test', :source => nil, :repository => nil)
      @installer = Sprinkle::Installers::Pear.new(@package, @pear, @pear2) do
        pre :install, 'op1'
        post :install, 'op2'
      end
    end

    it 'should invoke the pear installer for the specified package' do
      @installer.send(:install_commands).should == "pear install Log Test"
    end

    it 'should automatically insert pre/post commands for the specified package' do
      @installer.send(:install_sequence).should == [ 'op1', "pear install #{@pear} #{@pear2}", 'op2']
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jemmyw-sprinkle-0.2.4 spec/sprinkle/installers/pear_spec.rb