-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0950c8e
commit 1ff25af
Showing
533 changed files
with
37,058 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,165 @@ | ||
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 | ||
|
||
# Don't load rspec if running "rake gems:*" | ||
unless ARGV.any? {|a| a =~ /^gems/} | ||
|
||
begin | ||
require 'spec/rake/spectask' | ||
rescue MissingSourceFile | ||
module Spec | ||
module Rake | ||
class SpecTask | ||
def initialize(name) | ||
task name do | ||
# if rspec-rails is a configured gem, this will output helpful material and exit ... | ||
require File.expand_path(File.dirname(__FILE__) + "/../../config/environment") | ||
|
||
# ... otherwise, do this: | ||
raise <<-MSG | ||
#{"*" * 80} | ||
* You are trying to run an rspec rake task defined in | ||
* #{__FILE__}, | ||
* but rspec can not be found in vendor/gems, vendor/plugins or system gems. | ||
#{"*" * 80} | ||
MSG | ||
end | ||
end | ||
end | ||
end | ||
end | ||
end | ||
|
||
Rake.application.instance_variable_get('@tasks').delete('default') | ||
|
||
spec_prereq = File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop | ||
task :noop do | ||
end | ||
|
||
task :default => :spec | ||
task :stats => "spec:statsetup" | ||
|
||
desc "Run all specs in spec directory (excluding plugin specs)" | ||
Spec::Rake::SpecTask.new(:spec => spec_prereq) do |t| | ||
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] | ||
t.spec_files = FileList['spec/**/*/*_spec.rb'] | ||
end | ||
|
||
namespace :spec do | ||
desc "Run all specs in spec directory with RCov (excluding plugin specs)" | ||
Spec::Rake::SpecTask.new(:rcov) do |t| | ||
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] | ||
t.spec_files = FileList['spec/**/*/*_spec.rb'] | ||
t.rcov = true | ||
t.rcov_opts = lambda do | ||
IO.readlines("#{RAILS_ROOT}/spec/rcov.opts").map {|l| l.chomp.split " "}.flatten | ||
end | ||
end | ||
|
||
desc "Print Specdoc for all specs (excluding plugin specs)" | ||
Spec::Rake::SpecTask.new(:doc) do |t| | ||
t.spec_opts = ["--format", "specdoc", "--dry-run"] | ||
t.spec_files = FileList['spec/**/*/*_spec.rb'] | ||
end | ||
|
||
desc "Print Specdoc for all plugin examples" | ||
Spec::Rake::SpecTask.new(:plugin_doc) do |t| | ||
t.spec_opts = ["--format", "specdoc", "--dry-run"] | ||
t.spec_files = FileList['vendor/plugins/**/spec/**/*/*_spec.rb'].exclude('vendor/plugins/rspec/*') | ||
end | ||
|
||
[:models, :controllers, :views, :helpers, :lib].each do |sub| | ||
desc "Run the code examples in spec/#{sub}" | ||
Spec::Rake::SpecTask.new(sub => spec_prereq) do |t| | ||
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] | ||
t.spec_files = FileList["spec/#{sub}/**/*_spec.rb"] | ||
end | ||
end | ||
|
||
desc "Run the code examples in vendor/plugins (except RSpec's own)" | ||
Spec::Rake::SpecTask.new(:plugins => spec_prereq) do |t| | ||
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] | ||
t.spec_files = FileList['vendor/plugins/**/spec/**/*/*_spec.rb'].exclude('vendor/plugins/rspec/*').exclude("vendor/plugins/rspec-rails/*") | ||
end | ||
|
||
namespace :plugins do | ||
desc "Runs the examples for rspec_on_rails" | ||
Spec::Rake::SpecTask.new(:rspec_on_rails) do |t| | ||
t.spec_opts = ['--options', "\"#{RAILS_ROOT}/spec/spec.opts\""] | ||
t.spec_files = FileList['vendor/plugins/rspec-rails/spec/**/*/*_spec.rb'] | ||
end | ||
end | ||
|
||
# Setup specs for stats | ||
task :statsetup do | ||
require 'code_statistics' | ||
::STATS_DIRECTORIES << %w(Model\ specs spec/models) if File.exist?('spec/models') | ||
::STATS_DIRECTORIES << %w(View\ specs spec/views) if File.exist?('spec/views') | ||
::STATS_DIRECTORIES << %w(Controller\ specs spec/controllers) if File.exist?('spec/controllers') | ||
::STATS_DIRECTORIES << %w(Helper\ specs spec/helpers) if File.exist?('spec/helpers') | ||
::STATS_DIRECTORIES << %w(Library\ specs spec/lib) if File.exist?('spec/lib') | ||
::STATS_DIRECTORIES << %w(Routing\ specs spec/lib) if File.exist?('spec/routing') | ||
::CodeStatistics::TEST_TYPES << "Model specs" if File.exist?('spec/models') | ||
::CodeStatistics::TEST_TYPES << "View specs" if File.exist?('spec/views') | ||
::CodeStatistics::TEST_TYPES << "Controller specs" if File.exist?('spec/controllers') | ||
::CodeStatistics::TEST_TYPES << "Helper specs" if File.exist?('spec/helpers') | ||
::CodeStatistics::TEST_TYPES << "Library specs" if File.exist?('spec/lib') | ||
::CodeStatistics::TEST_TYPES << "Routing specs" if File.exist?('spec/routing') | ||
end | ||
|
||
namespace :db do | ||
namespace :fixtures do | ||
desc "Load fixtures (from spec/fixtures) into the current environment's database. Load specific fixtures using FIXTURES=x,y. Load from subdirectory in test/fixtures using FIXTURES_DIR=z." | ||
task :load => :environment do | ||
ActiveRecord::Base.establish_connection(Rails.env) | ||
base_dir = File.join(Rails.root, 'spec', 'fixtures') | ||
fixtures_dir = ENV['FIXTURES_DIR'] ? File.join(base_dir, ENV['FIXTURES_DIR']) : base_dir | ||
|
||
require 'active_record/fixtures' | ||
(ENV['FIXTURES'] ? ENV['FIXTURES'].split(/,/).map {|f| File.join(fixtures_dir, f) } : Dir.glob(File.join(fixtures_dir, '*.{yml,csv}'))).each do |fixture_file| | ||
Fixtures.create_fixtures(File.dirname(fixture_file), File.basename(fixture_file, '.*')) | ||
end | ||
end | ||
end | ||
end | ||
|
||
namespace :server do | ||
daemonized_server_pid = File.expand_path("#{RAILS_ROOT}/tmp/pids/spec_server.pid") | ||
|
||
desc "start spec_server." | ||
task :start do | ||
if File.exist?(daemonized_server_pid) | ||
$stderr.puts "spec_server is already running." | ||
else | ||
$stderr.puts %Q{Starting up spec_server ...} | ||
FileUtils.mkdir_p('tmp/pids') unless test ?d, 'tmp/pids' | ||
system("ruby", "script/spec_server", "--daemon", "--pid", daemonized_server_pid) | ||
end | ||
end | ||
|
||
desc "stop spec_server." | ||
task :stop do | ||
unless File.exist?(daemonized_server_pid) | ||
$stderr.puts "No server running." | ||
else | ||
$stderr.puts "Shutting down spec_server ..." | ||
system("kill", "-s", "TERM", File.read(daemonized_server_pid).strip) && | ||
File.delete(daemonized_server_pid) | ||
end | ||
end | ||
|
||
desc "restart spec_server." | ||
task :restart => [:stop, :start] | ||
|
||
desc "check if spec server is running" | ||
task :status do | ||
if File.exist?(daemonized_server_pid) | ||
$stderr.puts %Q{spec_server is running (PID: #{File.read(daemonized_server_pid).gsub("\n","")})} | ||
else | ||
$stderr.puts "No server running." | ||
end | ||
end | ||
end | ||
end | ||
|
||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#!/usr/bin/env ruby | ||
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 | ||
ENV['RSPEC'] = 'true' # allows autotest to discover rspec | ||
ENV['AUTOTEST'] = 'true' # allows autotest to run w/ color on linux | ||
system((RUBY_PLATFORM =~ /mswin|mingw/ ? 'autotest.bat' : 'autotest'), *ARGV) || | ||
$stderr.puts("Unable to find autotest. Please install ZenTest or fix your PATH") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#!/usr/bin/env ruby | ||
if ARGV.any? {|arg| %w[--drb -X --generate-options -G --help -h --version -v].include?(arg)} | ||
require 'rubygems' unless ENV['NO_RUBYGEMS'] | ||
else | ||
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 | ||
ENV["RAILS_ENV"] ||= 'test' | ||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) | ||
end | ||
require 'spec/autorun' | ||
exit ::Spec::Runner::CommandLine.run |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/usr/bin/env ruby | ||
gem 'test-unit', '1.2.3' if RUBY_VERSION.to_f >= 1.9 | ||
|
||
puts "Loading Rails environment" | ||
ENV["RAILS_ENV"] ||= 'test' | ||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) | ||
|
||
require 'optparse' | ||
require 'spec/rails/spec_server' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
--exclude "spec/*,gems/*" | ||
--rails |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--colour | ||
--format progress | ||
--loadby mtime | ||
--reverse |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# This file is copied to ~/spec when you run 'ruby script/generate rspec' | ||
# from the project root directory. | ||
ENV["RAILS_ENV"] ||= 'test' | ||
require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) | ||
require 'spec/autorun' | ||
require 'spec/rails' | ||
|
||
Spec::Runner.configure do |config| | ||
# If you're not using ActiveRecord you should remove these | ||
# lines, delete config/database.yml and disable :active_record | ||
# in your config/boot.rb | ||
config.use_transactional_fixtures = true | ||
config.use_instantiated_fixtures = false | ||
config.fixture_path = RAILS_ROOT + '/spec/fixtures/' | ||
|
||
# == Fixtures | ||
# | ||
# You can declare fixtures for each example_group like this: | ||
# describe "...." do | ||
# fixtures :table_a, :table_b | ||
# | ||
# Alternatively, if you prefer to declare them only once, you can | ||
# do so right here. Just uncomment the next line and replace the fixture | ||
# names with your fixtures. | ||
# | ||
# config.global_fixtures = :table_a, :table_b | ||
# | ||
# If you declare global fixtures, be aware that they will be declared | ||
# for all of your examples, even those that don't use them. | ||
# | ||
# You can also declare which fixtures to use (for example fixtures for test/fixtures): | ||
# | ||
# config.fixture_path = RAILS_ROOT + '/spec/fixtures/' | ||
# | ||
# == Mock Framework | ||
# | ||
# RSpec uses it's own mocking framework by default. If you prefer to | ||
# use mocha, flexmock or RR, uncomment the appropriate line: | ||
# | ||
# config.mock_with :mocha | ||
# config.mock_with :flexmock | ||
# config.mock_with :rr | ||
# | ||
# == Notes | ||
# | ||
# For more information take a look at Spec::Runner::Configuration and Spec::Runner | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
lib/**/*.rb | ||
History.txt | ||
License.txt | ||
README.txt | ||
Upgrade.markdown | ||
features/**/*.feature | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
tmtags | ||
.DS_Store | ||
.emacs-project | ||
*~ | ||
pkg | ||
doc | ||
email.txt | ||
*.swp |
Oops, something went wrong.