Module: ActiveSupport::Testing::Declarative

Included in:
ActiveSupport::TestCase
Defined in:
lib/active_support/testing/declarative.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.extended(klass) ⇒ Object

:nodoc:



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File '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

test “verify something” do

...

end



25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/active_support/testing/declarative.rb', line 25

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