require 'rake/testtask'

namespace :test do

  desc 'Run all tests suites'
  task :all do
    Rake::Task['test:app'].invoke
    Rake::Task['test:dsl'].invoke
    Rake::Task['test:docs'].invoke
    Rake::Task['test:param'].invoke
  end

  Rake::TestTask.new(:app) do |t|
    t.test_files = FileList['tests/app_test.rb']
    t.verbose = false
    t.options = "-v"
  end

  Rake::TestTask.new(:dsl) do |t|
    t.test_files = FileList['tests/dsl_test.rb']
    t.verbose = false
    #t.options = "-v"
  end

  Rake::TestTask.new(:docs) do |t|
    t.test_files = FileList['tests/docs_test.rb']
    t.verbose = false
  end

end

desc "Run RSpec with code coverage"
task :coverage do
  ENV["COVERAGE"] = "true"
  Rake::Task["test:all"].execute
end

desc "Reinstall gem"
task :reinstall do
  puts %x{rm -rf sinatra-rabbit-*.gem}
  puts %x{gem uninstall sinatra-rabbit --all -I -x}
  puts %x{gem build sinatra-rabbit.gemspec}
  puts %x{gem install sinatra-rabbit-*.gem --local}
end
