22 lines
568 B
Ruby
22 lines
568 B
Ruby
|
module ActiveSupport
|
||
|
module Testing
|
||
|
module Declarative
|
||
|
# test "verify something" do
|
||
|
# ...
|
||
|
# end
|
||
|
def test(name, &block)
|
||
|
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
|
||
|
defined = instance_method(test_name) rescue false
|
||
|
raise "#{test_name} is already defined in #{self}" if defined
|
||
|
if block_given?
|
||
|
define_method(test_name, &block)
|
||
|
else
|
||
|
define_method(test_name) do
|
||
|
flunk "No implementation provided for #{name}"
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|