class Spec::Matchers::MatcherDSL

Public Class Methods

expected_value(&block) click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 120
def self.expected_value(&block)
  define_method(:transform_expected, &block)
  
  define_method(:initialize) do |expected_value|
    @expected_value = transform_expected(expected_value) || expected_value
  end
end
failure_message(&block) click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 136
def self.failure_message(&block)
  define_method(:proxy_failure_message, &block)
  
  define_method(:failure_message) do
    proxy_failure_message(@object, @expected_value)
  end
end
matches(&block) click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 107
def self.matches(&block)
  define_method(:matches_proxy, &block)
  
  define_method(:matches?) do |object|
    @object = object
    if block.arity == 2
      matches_proxy(@object, @expected_value)
    else
      matches_proxy(@object)
    end
  end
end
message(&block) click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 144
def self.message(&block)
  class_eval do
    def failure_message
      generic_message(@object, @expected_value, nil)
    end
    
    def negative_failure_message
      generic_message(@object, @expected_value, " not")
    end
  end
  
  define_method(:proxy_generic_message, &block)

  ar = block.arity
  
  define_method(:generic_message) do |object, expected, not_string|
    if ar == 3
      proxy_generic_message(not_string, object, expected)
    else
      proxy_generic_message(not_string, object)
    end
  end
end
negative_failure_message(&block) click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 128
def self.negative_failure_message(&block)
  define_method(:proxy_negative_failure_message, &block)
  
  define_method(:negative_failure_message) do
    proxy_negative_failure_message(@object, @expected_value)
  end
end

Public Instance Methods

failure_message() click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 146
def failure_message
  generic_message(@object, @expected_value, nil)
end
negative_failure_message() click to toggle source
# File lib/merb-core/test/test_ext/rspec.rb, line 150
def negative_failure_message
  generic_message(@object, @expected_value, " not")
end