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.
- data/lib/response_code_matchers/version.rb +1 -1
- data/lib/response_code_matchers.rb +10 -3
- data/spec/response_code_matchers_spec.rb +10 -1
- metadata +46 -60
@@ -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.
|
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
|
-
|
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
|
-
|
19
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :development
|
47
|
-
|
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
|
-
|
82
|
-
|
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
|
-
|
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
|