1 require 'spec/rake/verify_rcov'
4 Spec::Rake::SpecTask.new(:rcov) do |t|
5 t.spec_files = FileList['spec/**/*_spec.rb']
6 t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
8 if `which rcov`.strip == ""
9 STDERR.puts "Please install rcov:"
11 "sudo gem install relevance-rcov --source http://gems.github.com/"
21 '--exclude', '1\\.8\\/gems',
22 '--exclude', '1\\.9\\/gems'
26 Spec::Rake::SpecTask.new(:all) do |t|
27 t.spec_files = FileList['spec/**/*_spec.rb']
28 t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
32 Spec::Rake::SpecTask.new(:fast) do |t|
33 t.spec_files = FileList['spec/**/*_spec.rb'].exclude(
34 'spec/**/*_slow_spec.rb'
36 t.spec_opts = ['--require', 'rubygems', '--color', '--format', 'specdoc']
41 RCov::VerifyTask.new(:verify) do |t|
43 t.index_html = 'coverage/index.html'
49 desc 'Generate HTML Specdocs for all specs'
50 Spec::Rake::SpecTask.new(:specdoc) do |t|
51 specdoc_path = File.expand_path(
52 File.join(File.dirname(__FILE__), '../specdoc/'))
53 Dir.mkdir(specdoc_path) if !File.exist?(specdoc_path)
55 output_file = File.join(specdoc_path, 'index.html')
56 t.spec_files = FileList['spec/**/*_spec.rb']
57 t.spec_opts = ['--format', "\"html:#{output_file}\"", '--diff']
58 t.fail_on_error = false
62 desc 'Browse the code coverage report.'
63 task :browse => 'spec:rcov' do
65 Launchy::Browser.run('coverage/index.html')
71 desc 'Alias to spec:verify'
72 task 'spec' => 'spec:verify'
74 desc 'Alias to spec:all'
75 task 'spec' => 'spec:all'
78 task 'clobber' => ['spec:clobber_rcov']