From ae9581e0f3961a8a9754db6588b24200d4c443a5 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 7 Nov 2008 13:25:40 -0500 Subject: Extract test method declaration --- .../lib/active_support/testing/declarative.rb | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 activesupport/lib/active_support/testing/declarative.rb (limited to 'activesupport/lib/active_support') diff --git a/activesupport/lib/active_support/testing/declarative.rb b/activesupport/lib/active_support/testing/declarative.rb new file mode 100644 index 0000000000..cb6a5844eb --- /dev/null +++ b/activesupport/lib/active_support/testing/declarative.rb @@ -0,0 +1,21 @@ +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 -- cgit v1.2.3