1
0
Fork 0
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:
tsaleh 2007-11-08 21:45:27 +00:00
parent 2aba771cee
commit 4b39f0076a
3 changed files with 34 additions and 3 deletions

View file

@ -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

View file

@ -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

View 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