1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Delegate pending to skip if Minitest is available

This commit is contained in:
David Heinemeier Hansson 2011-03-30 21:16:29 -07:00
parent 58c3ec1b7b
commit 2867093365

View file

@ -11,32 +11,36 @@ module ActiveSupport
@@at_exit = false
def pending(description = "", &block)
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
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
flunk("<#{description}> did not fail.") unless failed
end
if block_given?
failed = false
caller[0] =~ (/(.*):(.*):in `(.*)'/)
@@pending_cases << "#{$3} at #{$1}, line #{$2}"
print "P"
begin
block.call
rescue Exception
failed = true
end
@@at_exit ||= begin
at_exit do
puts "\nPending Cases:"
@@pending_cases.each do |test_case|
puts test_case
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