Sha256: 65ff356db4872265422242d594a7939574bf11150b6f68027391ba8c314fb5b4

Contents?: true

Size: 1.52 KB

Versions: 18

Compression:

Stored size: 1.52 KB

Contents

require 'tmpdir'

include Rake::Funnel::Support

describe Rake::Funnel::Support::Mono do
  before {
    allow(Rake::Win32).to receive(:windows?).and_return(windows?)
  }

  context 'on Windows' do
    let(:windows?) { true }

    it 'should return executable' do
      expect(described_class.invocation('executable.exe')).to eq(%w(executable.exe))
    end

    it 'should return executable with args' do
      expect(described_class.invocation('executable.exe', 'arg1', 'arg2')).to eq(%w(executable.exe arg1 arg2))
    end

    it 'should return array executable with args' do
      expect(described_class.invocation(%w(executable.exe arg1 arg2))).to eq(%w(executable.exe arg1 arg2))
    end

    it 'should reject nil in array' do
      expect(described_class.invocation(%w(executable.exe arg1) << nil)).to eq(%w(executable.exe arg1))
    end

    it 'should reject nil as arg' do
      expect(described_class.invocation('executable.exe', nil)).to eq(%w(executable.exe))
    end
  end

  context 'not on Windows' do
    let(:windows?) { false }

    before {
      allow(Which).to receive(:which)
    }

    before {
      @cmd = described_class.invocation('executable.exe')
    }

    it "should prepend 'mono'" do
      expect(@cmd.first).to eq('mono')
    end

    it 'should resolve executable through which' do
      expect(Which).to have_received(:which).with('executable.exe')
    end

    it 'should support args' do
      expect(described_class.invocation(%w(executable.exe arg1 arg2))).to eq(%w(mono executable.exe arg1 arg2))
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
rake-funnel-0.18.0 spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.17.0 spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.16.1 spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.16.0 spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.15.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.14.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.13.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.12.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.11.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.10.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.9.1.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.9.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.8.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.7.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.6.1.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.6.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.5.0.pre spec/rake/funnel/support/mono_spec.rb
rake-funnel-0.4.0.pre spec/rake/funnel/support/mono_spec.rb