Module: ActiveSupport::Testing::Declarative
- Included in:
- ActiveSupport::TestCase
- Defined in:
- activesupport/lib/active_support/testing/declarative.rb
Class Method Summary collapse
-
.extended(klass) ⇒ Object
:nodoc:.
Instance Method Summary collapse
-
#test(name, &block) ⇒ Object
Helper to define a test method using a String.
Class Method Details
.extended(klass) ⇒ Object
:nodoc:
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'activesupport/lib/active_support/testing/declarative.rb', line 5 def self.extended(klass) #:nodoc: klass.class_eval do unless method_defined?(:describe) def self.describe(text) class_eval <<-RUBY_EVAL, __FILE__, __LINE__ + 1 def self.name "#{text}" end RUBY_EVAL end end end end |
Instance Method Details
#test(name, &block) ⇒ Object
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
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'activesupport/lib/active_support/testing/declarative.rb', line 28 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 |