Sha256: 18281c78ef60212dc120d32380d0d308d7901ad752c4199ebc4d24022c991e2b
Contents?: true
Size: 1.65 KB
Versions: 3
Compression:
Stored size: 1.65 KB
Contents
# frozen_string_literal: true require 'tmpdir' describe Rake::Funnel::Support::Which do let(:temp_dir) { Dir.mktmpdir } let(:executable_path) { File.join(temp_dir, 'executable.exe') } let(:create_entry) { ->(p) { FileUtils.touch(p) } } before do create_entry.call(executable_path) allow(ENV).to receive(:[]).with('PATH').and_return(temp_dir) end after do FileUtils.rm_rf(temp_dir) end describe 'executable in PATH' do context 'found' do it 'should yield executable' do expect(described_class.which(File.basename(executable_path))).to eq(executable_path) end end context 'not found' do it 'should yield nil' do expect(described_class.which('does-not-exist.exe')).to be_nil end end context 'found as directory' do let(:create_entry) { ->(p) { FileUtils.mkdir_p(p) } } it 'should yield nil' do expect(described_class.which('executable.exe')).to be_nil end end end describe 'executable in current working directory' do context 'found' do it 'should yield executable' do Dir.chdir(temp_dir) do expect(described_class.which(File.basename(executable_path))).to eq(File.basename(executable_path)) end end end context 'not found' do it 'should yield nil' do Dir.chdir(temp_dir) do expect(described_class.which('does-not-exist.exe')).to be_nil end end end context 'found as directory' do let(:create_entry) { ->(p) { FileUtils.mkdir_p(p) } } it 'should yield nil' do expect(described_class.which('executable.exe')).to be_nil end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
rake-funnel-0.24.0 | spec/rake/funnel/support/which_spec.rb |
rake-funnel-0.23.0 | spec/rake/funnel/support/which_spec.rb |
rake-funnel-0.22.3 | spec/rake/funnel/support/which_spec.rb |