+++ /dev/null
-module Test
- module Unit
- module ExceptionHandler
- @@exception_handlers = []
- class << self
- def exception_handlers
- @@exception_handlers
- end
-
- def included(base)
- base.extend(ClassMethods)
-
- observer = Proc.new do |test_case, _, _, value, method_name|
- if value
- @@exception_handlers.unshift(method_name)
- else
- @@exception_handlers -= [method_name]
- end
- end
- base.register_attribute_observer(:exception_handler, &observer)
- end
- end
-
- module ClassMethods
- def exception_handlers
- ExceptionHandler.exception_handlers
- end
-
- def exception_handler(*method_names)
- attribute(:exception_handler, true, *method_names)
- end
-
- def unregister_exception_handler(*method_names)
- attribute(:exception_handler, false, *method_names)
- end
- end
- end
- end
-end