mirror of
https://github.com/thoughtbot/shoulda-matchers.git
synced 2022-11-09 12:01:38 -05:00
- moved rake tasks to shoulda namespace
- added shoulda:from_yaml task from David.Lowenfels@gmail.com git-svn-id: https://svn.thoughtbot.com/plugins/shoulda/trunk@237 7bbfaf0e-4d1d-0410-9690-a8bb5f8ef2aa
This commit is contained in:
parent
2aba771cee
commit
4b39f0076a
3 changed files with 34 additions and 3 deletions
7
Rakefile
7
Rakefile
|
@ -2,8 +2,6 @@ require 'rake'
|
|||
require 'rake/testtask'
|
||||
require 'rake/rdoctask'
|
||||
|
||||
#require 'tasks/list_tests.rake'
|
||||
|
||||
# Test::Unit::UI::VERBOSE
|
||||
|
||||
Rake::TestTask.new do |t|
|
||||
|
@ -27,3 +25,8 @@ end
|
|||
|
||||
desc 'Default: run tests.'
|
||||
task :default => ['test']
|
||||
|
||||
Dir['tasks/*.rake'].each do |f|
|
||||
load f
|
||||
end
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
namespace :test do
|
||||
namespace :shoulda do
|
||||
desc "List the names of the test methods in a specification like format"
|
||||
task :list do
|
||||
|
||||
|
|
28
tasks/yaml_to_shoulda.rake
Normal file
28
tasks/yaml_to_shoulda.rake
Normal file
|
@ -0,0 +1,28 @@
|
|||
namespace :shoulda do
|
||||
# From http://blog.internautdesign.com/2007/11/2/a-yaml_to_shoulda-rake-task
|
||||
# David.Lowenfels@gmail.com
|
||||
desc "Converts a YAML file (FILE=./path/to/yaml) into a Shoulda skeleton"
|
||||
task :from_yaml do
|
||||
require 'yaml'
|
||||
|
||||
def yaml_to_context(hash, indent = 0)
|
||||
indent1 = ' ' * indent
|
||||
indent2 = ' ' * (indent + 1)
|
||||
hash.each_pair do |context, shoulds|
|
||||
puts indent1 + "context \"#{context}\" do"
|
||||
puts
|
||||
shoulds.each do |should|
|
||||
yaml_to_context( should, indent + 1 ) and next if should.is_a?( Hash )
|
||||
puts indent2 + "should_eventually \"" + should.gsub(/^should +/,'') + "\" do"
|
||||
puts indent2 + "end"
|
||||
puts
|
||||
end
|
||||
puts indent1 + "end"
|
||||
end
|
||||
end
|
||||
|
||||
puts("Please pass in a FILE argument.") and exit unless ENV['FILE']
|
||||
|
||||
yaml_to_context( YAML.load_file( ENV['FILE'] ) )
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue