Sha256: 9b5ddb9f8acea068637f8099cc3619f9de1bc424f01afe8eada9ba52f54788df

Contents?: true

Size: 848 Bytes

Versions: 50

Compression:

Stored size: 848 Bytes

Contents

module Mocha
  
  module ParameterMatchers

    # :call-seq: has_key(key) -> parameter_matcher
    #
    # Matches +Hash+ containing +key+.
    #   object = mock()
    #   object.expects(:method_1).with(has_key('key_1'))
    #   object.method_1('key_1' => 1, 'key_2' => 2)
    #   # no error raised
    #
    #   object = mock()
    #   object.expects(:method_1).with(has_key('key_1'))
    #   object.method_1('key_2' => 2)
    #   # error raised, because method_1 was not called with Hash containing key: 'key_1'
    def has_key(key)
      HasKey.new(key)
    end

    class HasKey # :nodoc:
      
      def initialize(key)
        @key = key
      end
      
      def ==(parameter)
        parameter.keys.include?(@key)
      end
      
      def mocha_inspect
        "has_key(#{@key.mocha_inspect})"
      end
      
    end
    
  end
  
end

Version data entries

50 entries across 50 versions & 4 rubygems

Version Path
redcar-dev-0.12.1dev-java lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-dev-0.12.0dev-java lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.11 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.11.0dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.10 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.9.2 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.9.1 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.9.0 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.8.1 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.8 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.7 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.6.1 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.6 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.6.1dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5.1 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5 lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5.6dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5.5dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5.4dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb
redcar-0.5.3dev lib/openssl/mocha/lib/mocha/parameter_matchers/has_key.rb