diff options
Diffstat (limited to 'activesupport/lib/active_support/testing/declarative.rb')
-rw-r--r-- | activesupport/lib/active_support/testing/declarative.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/testing/declarative.rb b/activesupport/lib/active_support/testing/declarative.rb new file mode 100644 index 0000000000..0bf3643a56 --- /dev/null +++ b/activesupport/lib/active_support/testing/declarative.rb @@ -0,0 +1,26 @@ +module ActiveSupport + module Testing + module Declarative + unless defined?(Spec) + # Helper to define a test method using a String. Under the hood, it replaces + # spaces with underscores and defines the test method. + # + # test "verify something" do + # ... + # end + def test(name, &block) + test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym + defined = method_defined? test_name + 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 +end |