response_code_matchers 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  module ResponseCodeMatchers
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -2,8 +2,13 @@ require "response_code_matchers/version"
2
2
  require "rack"
3
3
 
4
4
  module ResponseCodeMatchers
5
+
5
6
  Rack::Utils::SYMBOL_TO_STATUS_CODE.each do |name, code|
6
- name = name.to_s.gsub("'", "")
7
+ name = name.to_s.tap do |t|
8
+ t.gsub!("'", '') # remove single quotes
9
+ t.gsub!(/\(.*\)/, '') # remove anything in parentheses
10
+ t.gsub!(/\_$/, '') # remove trailing underscores
11
+ end
7
12
  define_method("be_#{name}") do
8
13
  ResponseCodeMatcher.new(code.to_s, name)
9
14
  end
@@ -16,10 +21,12 @@ module ResponseCodeMatchers
16
21
  end
17
22
 
18
23
  def matches?(response)
19
- @valid = response.respond_to?(:code)
20
- if @valid
24
+ if @valid = response.respond_to?(:code)
21
25
  @actual = response.code
22
26
  @actual == @expected
27
+ elsif @valid = response.respond_to?(:status)
28
+ @actual = response.status.to_s
29
+ @actual == @expected
23
30
  else
24
31
  response.__send__(method_name)
25
32
  end
@@ -40,7 +40,6 @@ describe ResponseCodeMatchers do
40
40
  415 be_unsupported_media_type
41
41
  416 be_requested_range_not_satisfiable
42
42
  417 be_expectation_failed
43
- 418 be_im_a_teapot
44
43
  422 be_unprocessable_entity
45
44
  423 be_locked
46
45
  424 be_failed_dependency
@@ -66,6 +65,16 @@ describe ResponseCodeMatchers do
66
65
  end
67
66
  end
68
67
 
68
+ context "when receiver responds to #status" do
69
+ let(:receiver) do
70
+ mock(:status => 406)
71
+ end
72
+
73
+ it "calls original receiver.xxx?" do
74
+ receiver.should be_not_acceptable
75
+ end
76
+ end
77
+
69
78
  context "when receiver does not have a method #code" do
70
79
  let(:receiver) do
71
80
  mock(:accepted? => true)
metadata CHANGED
@@ -1,60 +1,55 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: response_code_matchers
3
- version: !ruby/object:Gem::Version
4
- hash: 27
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 2
10
- version: 0.0.2
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Ryo NAKAMURA
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2012-12-05 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
12
+ date: 2013-01-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
21
15
  name: rack
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
24
17
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
32
22
  type: :runtime
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: rspec
36
23
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rspec
32
+ requirement: !ruby/object:Gem::Requirement
38
33
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
46
38
  type: :development
47
- version_requirements: *id002
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
48
46
  description: Provide rspec matchers to match http response code
49
- email:
47
+ email:
50
48
  - r7kamura@gmail.com
51
49
  executables: []
52
-
53
50
  extensions: []
54
-
55
51
  extra_rdoc_files: []
56
-
57
- files:
52
+ files:
58
53
  - .gitignore
59
54
  - Gemfile
60
55
  - LICENSE.txt
@@ -67,37 +62,28 @@ files:
67
62
  - spec/spec_helper.rb
68
63
  homepage: https://github.com/r7kamura/response_code_matchers
69
64
  licenses: []
70
-
71
65
  post_install_message:
72
66
  rdoc_options: []
73
-
74
- require_paths:
67
+ require_paths:
75
68
  - lib
76
- required_ruby_version: !ruby/object:Gem::Requirement
69
+ required_ruby_version: !ruby/object:Gem::Requirement
77
70
  none: false
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- hash: 3
82
- segments:
83
- - 0
84
- version: "0"
85
- required_rubygems_version: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ! '>='
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
86
76
  none: false
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- hash: 3
91
- segments:
92
- - 0
93
- version: "0"
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
94
81
  requirements: []
95
-
96
82
  rubyforge_project:
97
83
  rubygems_version: 1.8.24
98
84
  signing_key:
99
85
  specification_version: 3
100
86
  summary: RSpec utility matchers for http response code
101
- test_files:
87
+ test_files:
102
88
  - spec/response_code_matchers_spec.rb
103
89
  - spec/spec_helper.rb