fix the determination of spec files for line number analysis

This commit is contained in:
John Bintz 2011-09-09 11:49:17 -04:00
parent 7bd6894397
commit dc134dcf24
5 changed files with 28 additions and 10 deletions

View File

@ -4,7 +4,7 @@ require 'time'
module Jasmine module Jasmine
class FilesList class FilesList
attr_reader :files, :filtered_files, :spec_outside_scope attr_reader :files, :spec_files, :filtered_files, :spec_outside_scope
DEFAULT_FILES = [ DEFAULT_FILES = [
File.join(Jasmine::Core.path, "jasmine.js"), File.join(Jasmine::Core.path, "jasmine.js"),
@ -100,15 +100,17 @@ module Jasmine
@files += found_files @files += found_files
if searches == 'spec_files' if searches == 'spec_files'
@spec_files += spec_filter @spec_files += spec_filter.empty? ? found_files : (found_files & spec_filter)
end end
@filtered_files += (if searches == 'spec_files' @filtered_files += begin
@spec_outside_scope = ((spec_filter | found_files).sort != found_files.sort) if searches == 'spec_files'
spec_filter.empty? ? found_files : (spec_filter || found_files) @spec_outside_scope = ((spec_filter | found_files).sort != found_files.sort)
else spec_filter.empty? ? found_files : (spec_filter || found_files)
found_files else
end) found_files
end
end
end end
end end
end end

View File

@ -36,6 +36,7 @@ describe Jasmine::FilesList do
before do before do
[ first_file, src_file, spec_file, helper_file, stylesheet_file ].each do |file| [ first_file, src_file, spec_file, helper_file, stylesheet_file ].each do |file|
FileUtils.mkdir_p File.split(file).first
File.open(file, 'w') File.open(file, 'w')
end end
end end
@ -49,6 +50,8 @@ describe Jasmine::FilesList do
File.expand_path(helper_file), File.expand_path(helper_file),
File.expand_path(spec_file) File.expand_path(spec_file)
] ]
files_list.spec_files.should == [ File.expand_path(spec_file) ]
end end
end end
@ -90,8 +93,11 @@ describe Jasmine::FilesList do
'spec_dir' => spec_dir 'spec_dir' => spec_dir
} } } }
let(:spec_files) { %w{one_spec.js two_spec.js whatever.js} }
before do before do
%w{one_spec.js two_spec.js whatever.js}.each do |file| spec_files.each do |file|
FileUtils.mkdir_p spec_dir
File.open(File.join(spec_dir, file), 'w') File.open(File.join(spec_dir, file), 'w')
end end
end end
@ -103,6 +109,7 @@ describe Jasmine::FilesList do
files_list.files.any? { |file| file['two_spec.js'] }.should be_true files_list.files.any? { |file| file['two_spec.js'] }.should be_true
files_list.filtered?.should be_false files_list.filtered?.should be_false
files_list.should_not have_spec_outside_scope files_list.should_not have_spec_outside_scope
files_list.spec_files.sort.should == %w{one_spec.js two_spec.js}.sort.collect { |file| File.expand_path(File.join(spec_dir, file)) }
end end
end end
@ -113,6 +120,7 @@ describe Jasmine::FilesList do
files_list.files.any? { |file| file['two_spec.js'] }.should be_true files_list.files.any? { |file| file['two_spec.js'] }.should be_true
files_list.filtered?.should be_true files_list.filtered?.should be_true
files_list.should_not have_spec_outside_scope files_list.should_not have_spec_outside_scope
files_list.spec_files.should == filter
end end
it 'should return only filtered files for filtered_files' do it 'should return only filtered files for filtered_files' do

View File

@ -59,6 +59,7 @@ describe Jasmine::Headless::CacheableAction do
let(:cache_file_mtime) { 15 } let(:cache_file_mtime) { 15 }
before do before do
FileUtils.mkdir_p File.split(cache_file).first
File.open(cache_file, 'wb') { |fh| fh.print compiled } File.open(cache_file, 'wb') { |fh| fh.print compiled }
end end

View File

@ -52,6 +52,9 @@ describe Jasmine::Headless::Options do
let(:test_data) { '-j test' } let(:test_data) { '-j test' }
before do before do
FileUtils.mkdir_p File.split(Jasmine::Headless::Options::GLOBAL_DEFAULTS_FILE).first
FileUtils.mkdir_p File.split(Jasmine::Headless::Options::DEFAULTS_FILE).first
File.open(Jasmine::Headless::Options::GLOBAL_DEFAULTS_FILE, 'w') { |fh| fh.puts global_test_data } File.open(Jasmine::Headless::Options::GLOBAL_DEFAULTS_FILE, 'w') { |fh| fh.puts global_test_data }
File.open(Jasmine::Headless::Options::DEFAULTS_FILE, 'w') { |fh| fh.puts test_data } File.open(Jasmine::Headless::Options::DEFAULTS_FILE, 'w') { |fh| fh.puts test_data }
end end

View File

@ -18,8 +18,12 @@ describe Jasmine::Headless::Runner do
describe '#load_config' do describe '#load_config' do
include FakeFS::SpecHelpers include FakeFS::SpecHelpers
let(:runner_filename) { 'ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner' }
before do before do
File.open('ext/jasmine-webkit-specrunner/jasmine-webkit-specrunner', 'w') FileUtils.mkdir_p File.split(runner_filename).first
File.open(runner_filename, 'w')
end end
let(:config_filename) { 'test.yml' } let(:config_filename) { 'test.yml' }