aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/testing/pending.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/lib/active_support/testing/pending.rb')
-rw-r--r--activesupport/lib/active_support/testing/pending.rb43
1 files changed, 43 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/testing/pending.rb b/activesupport/lib/active_support/testing/pending.rb
new file mode 100644
index 0000000000..d945c7e476
--- /dev/null
+++ b/activesupport/lib/active_support/testing/pending.rb
@@ -0,0 +1,43 @@
+# Some code from jeremymcanally's "pending"
+# http://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 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 \ No newline at end of file