Class: OptionsTest
Defined Under Namespace
Classes: ParentOptions, SubOptions
Instance Method Summary
collapse
#capture_warnings, jruby?, rbx?, ssl_mode?, #test_default
#live_server, #live_server=, #live_server?
Instance Method Details
#test_clear ⇒ Object
9
10
11
12
13
14
|
# File 'test/options_test.rb', line 9
def test_clear
options = SubOptions.new(1)
assert !options.empty?
assert options.clear
assert options.empty?
end
|
#test_delete ⇒ Object
178
179
180
181
182
183
|
# File 'test/options_test.rb', line 178
def test_delete
options = ParentOptions.new(1)
assert_equal 1, options.a
assert_equal 1, options.delete(:a)
assert_nil options.a
end
|
#test_each_key ⇒ Object
25
26
27
28
29
30
31
|
# File 'test/options_test.rb', line 25
def test_each_key
options = ParentOptions.new(1, 2, 3)
enum = options.each_key
assert_equal enum.next.to_sym, :a
assert_equal enum.next.to_sym, :b
assert_equal enum.next.to_sym, :c
end
|
#test_each_value ⇒ Object
44
45
46
47
48
49
50
|
# File 'test/options_test.rb', line 44
def test_each_value
options = ParentOptions.new(1, 2, 3)
enum = options.each_value
assert_equal enum.next, 1
assert_equal enum.next, 2
assert_equal enum.next, 3
end
|
#test_empty ⇒ Object
16
17
18
19
20
21
22
23
|
# File 'test/options_test.rb', line 16
def test_empty
options = SubOptions.new
assert options.empty?
options.sub = 1
assert !options.empty?
options.delete(:sub)
assert options.empty?
end
|
#test_env_access_member ⇒ Object
197
198
199
200
201
202
|
# File 'test/options_test.rb', line 197
def test_env_access_member
e = Faraday::Env.new
assert_nil e.method
e.method = :get
assert_equal :get, e.method
end
|
#test_env_access_string_non_member ⇒ Object
211
212
213
214
215
216
|
# File 'test/options_test.rb', line 211
def test_env_access_string_non_member
e = Faraday::Env.new
assert_nil e["custom"]
e["custom"] = :boom
assert_equal :boom, e["custom"]
end
|
#test_env_access_symbol_non_member ⇒ Object
204
205
206
207
208
209
|
# File 'test/options_test.rb', line 204
def test_env_access_symbol_non_member
e = Faraday::Env.new
assert_nil e[:custom]
e[:custom] = :boom
assert_equal :boom, e[:custom]
end
|
#test_env_fetch_ignores_false ⇒ Object
218
219
220
221
222
|
# File 'test/options_test.rb', line 218
def test_env_fetch_ignores_false
ssl = Faraday::SSLOptions.new
ssl.verify = false
assert !ssl.fetch(:verify, true)
end
|
#test_fetch_accepts_block ⇒ Object
235
236
237
238
|
# File 'test/options_test.rb', line 235
def test_fetch_accepts_block
opt = Faraday::SSLOptions.new
assert_equal "yo :verify", opt.fetch(:verify) { |k| "yo #{k.inspect}"}
end
|
#test_fetch_grabs_value ⇒ Object
224
225
226
227
228
|
# File 'test/options_test.rb', line 224
def test_fetch_grabs_value
opt = Faraday::SSLOptions.new
opt.verify = 1
assert_equal 1, opt.fetch(:verify, false) { |k| :blah }
end
|
#test_fetch_needs_a_default_if_key_is_missing ⇒ Object
#test_fetch_uses_falsey_default ⇒ Object
230
231
232
233
|
# File 'test/options_test.rb', line 230
def test_fetch_uses_falsey_default
opt = Faraday::SSLOptions.new
assert_equal false, opt.fetch(:verify, false) { |k| :blah }
end
|
#test_fetch_works_with_key ⇒ Object
247
248
249
250
251
|
# File 'test/options_test.rb', line 247
def test_fetch_works_with_key
opt = Faraday::SSLOptions.new
opt.verify = 1
assert_equal 1, opt.fetch(:verify)
end
|
#test_from_deep_hash ⇒ Object
141
142
143
144
145
146
147
148
149
150
151
152
|
# File 'test/options_test.rb', line 141
def test_from_deep_hash
hash = {:b => 1}
options = ParentOptions.from :a => hash
assert_equal 1, options.a[:b]
hash[:b] = 2
assert_equal 1, options.a[:b]
options.a[:b] = 3
assert_equal 2, hash[:b]
assert_equal 3, options.a[:b]
end
|
#test_from_hash ⇒ Object
118
119
120
121
122
123
|
# File 'test/options_test.rb', line 118
def test_from_hash
options = ParentOptions.from :a => 1
assert_kind_of ParentOptions, options
assert_equal 1, options.a
assert_nil options.b
end
|
#test_from_hash_with_sub_object ⇒ Object
125
126
127
128
129
130
131
132
|
# File 'test/options_test.rb', line 125
def test_from_hash_with_sub_object
options = ParentOptions.from :a => 1, :c => {:sub => 1}
assert_kind_of ParentOptions, options
assert_equal 1, options.a
assert_nil options.b
assert_kind_of SubOptions, options.c
assert_equal 1, options.c.sub
end
|
#test_from_nil ⇒ Object
154
155
156
157
158
159
|
# File 'test/options_test.rb', line 154
def test_from_nil
options = ParentOptions.from(nil)
assert_kind_of ParentOptions, options
assert_nil options.a
assert_nil options.b
end
|
#test_from_options ⇒ Object
100
101
102
103
104
105
106
|
# File 'test/options_test.rb', line 100
def test_from_options
options = ParentOptions.new(1)
value = ParentOptions.from(options)
assert_equal 1, value.a
assert_nil value.b
end
|
#test_from_options_with_sub_object ⇒ Object
108
109
110
111
112
113
114
115
116
|
# File 'test/options_test.rb', line 108
def test_from_options_with_sub_object
sub = SubOptions.new(1)
options = ParentOptions.from :a => 1, :c => sub
assert_kind_of ParentOptions, options
assert_equal 1, options.a
assert_nil options.b
assert_kind_of SubOptions, options.c
assert_equal 1, options.c.sub
end
|
#test_inheritance ⇒ Object
134
135
136
137
138
139
|
# File 'test/options_test.rb', line 134
def test_inheritance
subclass = Class.new(ParentOptions)
options = subclass.from(:c => {:sub => 'hello'})
assert_kind_of SubOptions, options.c
assert_equal 'hello', options.c.sub
end
|
#test_invalid_key ⇒ Object
161
162
163
164
165
|
# File 'test/options_test.rb', line 161
def test_invalid_key
assert_raises NoMethodError do
ParentOptions.from :invalid => 1
end
end
|
#test_key? ⇒ Boolean
33
34
35
36
37
38
39
40
41
42
|
# File 'test/options_test.rb', line 33
def test_key?
options = SubOptions.new
assert !options.key?(:sub)
options.sub = 1
if RUBY_VERSION >= '1.9'
assert options.key?(:sub)
else
assert options.key?("sub")
end
end
|
#test_merge ⇒ Object
185
186
187
188
189
190
191
192
193
194
195
|
# File 'test/options_test.rb', line 185
def test_merge
options = ParentOptions.new(1)
assert_equal 1, options.a
assert_nil options.b
dup = options.merge :a => 2, :b => 3
assert_equal 2, dup.a
assert_equal 3, dup.b
assert_equal 1, options.a
assert_nil options.b
end
|
#test_proxy_options_from_string ⇒ Object
75
76
77
78
79
80
81
82
83
84
|
# File 'test/options_test.rb', line 75
def test_proxy_options_from_string
options = Faraday::ProxyOptions.from 'http://user:[email protected]'
assert_equal 'user', options.user
assert_equal 'pass', options.password
assert_kind_of URI, options.uri
assert_equal '', options.path
assert_equal 80, options.port
assert_equal 'example.org', options.host
assert_equal 'http', options.scheme
end
|
#test_proxy_options_hash_access ⇒ Object
86
87
88
89
90
91
92
|
# File 'test/options_test.rb', line 86
def test_proxy_options_hash_access
proxy = Faraday::ProxyOptions.from 'http://a%40b:pw%[email protected]'
assert_equal 'a@b', proxy[:user]
assert_equal 'a@b', proxy.user
assert_equal 'pw d', proxy[:password]
assert_equal 'pw d', proxy.password
end
|
#test_proxy_options_no_auth ⇒ Object
94
95
96
97
98
|
# File 'test/options_test.rb', line 94
def test_proxy_options_no_auth
proxy = Faraday::ProxyOptions.from 'http://example.org'
assert_nil proxy.user
assert_nil proxy.password
end
|
#test_request_proxy_setter ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'test/options_test.rb', line 59
def test_request_proxy_setter
options = Faraday::RequestOptions.new
assert_nil options.proxy
assert_raises NoMethodError do
options[:proxy] = {:booya => 1}
end
options[:proxy] = {:user => 'user'}
assert_kind_of Faraday::ProxyOptions, options.proxy
assert_equal 'user', options.proxy.user
options.proxy = nil
assert_nil options.proxy
end
|
#test_update ⇒ Object
167
168
169
170
171
172
173
174
175
176
|
# File 'test/options_test.rb', line 167
def test_update
options = ParentOptions.new(1)
assert_equal 1, options.a
assert_nil options.b
updated = options.update :a => 2, :b => 3
assert_equal 2, options.a
assert_equal 3, options.b
assert_equal options, updated
end
|
#test_value? ⇒ Boolean
52
53
54
55
56
57
|
# File 'test/options_test.rb', line 52
def test_value?
options = SubOptions.new
assert !options.value?(1)
options.sub = 1
assert options.value?(1)
end
|