1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/activesupport/lib/active_support/testing/pending.rb
2011-03-30 21:16:29 -07:00

52 lines
1.2 KiB
Ruby

# Some code from jeremymcanally's "pending"
# https://github.com/jeremymcanally/pending/tree/master
module ActiveSupport
module Testing
module Pending
unless defined?(Spec)
@@pending_cases = []
@@at_exit = false
def pending(description = "", &block)
if defined?(::MiniTest)
skip(description.blank? ? nil : description)
else
if description.is_a?(Symbol)
is_pending = $tags[description]
return block.call unless is_pending
end
if block_given?
failed = false
begin
block.call
rescue Exception
failed = true
end
flunk("<#{description}> did not fail.") unless failed
end
caller[0] =~ (/(.*):(.*):in `(.*)'/)
@@pending_cases << "#{$3} at #{$1}, line #{$2}"
print "P"
@@at_exit ||= begin
at_exit do
puts "\nPending Cases:"
@@pending_cases.each do |test_case|
puts test_case
end
end
end
end
end
end
end
end
end