Sha256: c57a2f00503dd75ef26052b5706ae623443672abbb1f44d47aade63186546b55
Contents?: true
Size: 1.41 KB
Versions: 2
Compression:
Stored size: 1.41 KB
Contents
# This method tries to see if a specific method is contained in the generated file. # It can operate (should) on either a file name or the raw content # # generated_file_name.should have_method "hello" # 'my/path/say_hello.rb'.should have_method "hello" # # say_hello_file_content.should have_method "hello" # module RSpec module RubyContentMatchers class HaveMethod attr_reader :method def initialize(method, type) @type = type @method = method.to_s end def matches?(content) @content = content case @type when :class @content =~ /def\s+self.#{method}\s*(\(.+\))?(.*?)/m else @content =~ /def\s+#{method}\s*(\(.+\))?(.*?)/m end end def failure_message return "Expected there to be the class method #{method}, but there wasn't" if @type == :class "Expected there to be the method #{method}, but there wasn't" end def negative_failure_message return "Did not expect there to be the method #{method}, but there was" if @type == :class "Did not expect there to be the method #{method}, but there was" end end def have_method(method, type = nil) HaveMethod.new(method, type) end alias_method :have_instance_method, :have_method end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rspec_for_generators-0.3.1 | lib/rspec_for_generators/matchers/content/have_method.rb |
rspec_for_generators-0.3.0 | lib/rspec_for_generators/matchers/content/have_method.rb |