diff --git a/lib/rspec/http/header_matchers.rb b/lib/rspec/http/header_matchers.rb index e6663e3..660bb85 100644 --- a/lib/rspec/http/header_matchers.rb +++ b/lib/rspec/http/header_matchers.rb @@ -3,11 +3,11 @@ module Http class HeaderMatcher attr_reader :header, :expected_value, :response NO_VALUE = Object.new - + def initialize(expected) @header, @expected_value = expected.kind_of?(String) ? [expected, NO_VALUE] : expected.first end - + def matches?(response) if response[header] @matcher = case expected_value @@ -21,35 +21,35 @@ def matches?(response) end @matcher.matches?(response) end - + def description @matcher.description end - + def failure_message @matcher.failure_message end - - def negative_failure_message - @matcher.negative_failure_message + + def failure_message_when_negated + @matcher.failure_message_when_negated end end - + class HeaderPresenceMatcher attr_reader :header, :expected_value, :response def initialize(header) @header = header end - + def matches?(response) @response = response validate end - + def validate response[header] end - + def description "Verify the presence of '#{header}' among the response headers" end @@ -58,11 +58,11 @@ def failure_message "The header '#{header}' was not found" end - def negative_failure_message + def failure_message_when_negated "The header '#{header}' should not have been found, but it was and it has a value of '#{response[header]}'" end end - + class HeaderStringMatcher < HeaderPresenceMatcher def initialize(header, expected_value) super(header) @@ -81,11 +81,11 @@ def failure_message "Expected the response header '#{header}' to have a value of '#{expected_value}' but it was '#{@response[header]}'" end - def negative_failure_message + def failure_message_when_negated "Expected the response header '#{header}' to have a value that is not '#{expected_value}'" end end - + class HeaderRegexpMatcher < HeaderPresenceMatcher def initialize(header, expected_value) super(header) @@ -104,11 +104,11 @@ def failure_message "Expected the response header '#{header}' to have a value that matched #{expected_value.inspect} but it was '#{@response[header]}'" end - def negative_failure_message + def failure_message_when_negated "Expected the response header '#{header}' to have a value that does not match #{expected_value.inspect} but it was '#{@response[header]}'" end end - + module HeaderMatchers def have_header(expected) HeaderMatcher.new(expected) diff --git a/lib/rspec/http/response_code_matcher.rb b/lib/rspec/http/response_code_matcher.rb index 21d4860..62df2fa 100644 --- a/lib/rspec/http/response_code_matcher.rb +++ b/lib/rspec/http/response_code_matcher.rb @@ -18,7 +18,7 @@ def failure_message "Expected #{@target} to #{common_message}" end - def negative_failure_message + def failure_message_when_negated "Expected #{@target} to not #{common_message}" end diff --git a/rspec-http.gemspec b/rspec-http.gemspec index 16c9786..676c21a 100644 --- a/rspec-http.gemspec +++ b/rspec-http.gemspec @@ -20,6 +20,5 @@ Gem::Specification.new do |s| s.rdoc_options = ["--charset=UTF-8"] s.require_path = "lib" - s.add_runtime_dependency "rspec", "~> 2.0" + s.add_runtime_dependency "rspec", ">= 2.0", "< 4.0" end -