fix issues for when not running under bundler

This commit is contained in:
John Bintz 2011-12-01 10:37:35 -05:00
parent b6d94a5d0d
commit e25d89962c
3 changed files with 15 additions and 7 deletions

View File

@ -20,7 +20,7 @@ module Jasmine::Headless
Gem::Specification.each do |spec| Gem::Specification.each do |spec|
path = File.join(spec.gem_dir, 'vendor/assets/javascripts') path = File.join(spec.gem_dir, 'vendor/assets/javascripts')
@vendor_asset_paths << path if File.directory?(path) @vendor_asset_paths << path if File.directory?(path) && !@vendor_asset_paths.include?(path)
end end
@vendor_asset_paths @vendor_asset_paths
@ -68,7 +68,11 @@ module Jasmine::Headless
@potential_files_to_filter = [] @potential_files_to_filter = []
self.class.default_files.each do |file| self.class.default_files.each do |file|
begin
@required_files << sprockets_environment.find_asset(file, :bundle => false) @required_files << sprockets_environment.find_asset(file, :bundle => false)
rescue InvalidUniqueAsset => e
raise StandardError.new("Not an asset: #{file}")
end
end end
use_config! if config? use_config! if config?
@ -91,7 +95,7 @@ module Jasmine::Headless
def search_paths def search_paths
return @search_paths if @search_paths return @search_paths if @search_paths
@search_paths = [ Jasmine::Core.path ] @search_paths = [ Jasmine::Core.path, Jasmine::Headless.root.join('vendor/assets/javascripts').to_s ]
@search_paths += self.class.vendor_asset_paths @search_paths += self.class.vendor_asset_paths
@search_paths += src_dir.collect { |dir| File.expand_path(dir) } @search_paths += src_dir.collect { |dir| File.expand_path(dir) }
@search_paths += spec_dir.collect { |dir| File.expand_path(dir) } @search_paths += spec_dir.collect { |dir| File.expand_path(dir) }

View File

@ -1,7 +1,7 @@
module Jasmine::Headless module Jasmine::Headless
class UniqueAssetList < ::Array class UniqueAssetList < ::Array
def <<(asset) def <<(asset)
raise StandardError.new("Not an asset") if !asset.respond_to?(:logical_path) raise InvalidUniqueAsset.new("Not an asset: #{asset.inspect}") if !asset.respond_to?(:logical_path)
super if !self.any? { |other| asset.logical_path == other.logical_path } super if !self.any? { |other| asset.logical_path == other.logical_path }
end end
@ -10,5 +10,7 @@ module Jasmine::Headless
self.collect(&:to_a).flatten self.collect(&:to_a).flatten
end end
end end
class InvalidUniqueAsset < StandardError ; end
end end

View File

@ -67,9 +67,11 @@ describe Jasmine::Headless::FilesList do
Jasmine::Headless::FilesList.stubs(:vendor_asset_paths).returns([]) Jasmine::Headless::FilesList.stubs(:vendor_asset_paths).returns([])
end end
let(:vendor_path) { Jasmine::Headless.root.join('vendor/assets/javascripts').to_s }
context 'no vendored gem paths' do context 'no vendored gem paths' do
it 'should take the src dir and spec dirs' do it 'should take the src dir and spec dirs' do
files_list.search_paths.should == [ Jasmine::Core.path, File.expand_path(src_dir), File.expand_path(spec_dir) ] files_list.search_paths.should == [ Jasmine::Core.path, vendor_path, File.expand_path(src_dir), File.expand_path(spec_dir) ]
end end
end end
@ -79,7 +81,7 @@ describe Jasmine::Headless::FilesList do
end end
it 'should add the vendor gem paths to the list' do it 'should add the vendor gem paths to the list' do
files_list.search_paths.should == [ Jasmine::Core.path, path, File.expand_path(src_dir), File.expand_path(spec_dir) ] files_list.search_paths.should == [ Jasmine::Core.path, vendor_path, path, File.expand_path(src_dir), File.expand_path(spec_dir) ]
end end
end end
@ -90,7 +92,7 @@ describe Jasmine::Headless::FilesList do
let(:src_dir) { [ dir_1, dir_2 ] } let(:src_dir) { [ dir_1, dir_2 ] }
it 'should take the src dir and spec dirs' do it 'should take the src dir and spec dirs' do
files_list.search_paths.should == [ Jasmine::Core.path, File.expand_path(dir_1), File.expand_path(dir_2), File.expand_path(spec_dir) ] files_list.search_paths.should == [ Jasmine::Core.path, vendor_path, File.expand_path(dir_1), File.expand_path(dir_2), File.expand_path(spec_dir) ]
end end
end end
end end