vcr 2.2.5 → 2.3.0

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.
Files changed (45) hide show
  1. data/.gitignore +5 -0
  2. data/.travis.yml +0 -5
  3. data/Appraisals +9 -0
  4. data/CHANGELOG.md +21 -0
  5. data/Gemfile +17 -21
  6. data/README.md +5 -2
  7. data/Rakefile +1 -0
  8. data/features/configuration/hook_into.feature +7 -6
  9. data/features/configuration/uri_parser.feature +91 -0
  10. data/features/middleware/faraday.feature +4 -3
  11. data/features/support/http_lib_filters.rb +2 -3
  12. data/features/support/vcr_cucumber_helpers.rb +2 -1
  13. data/features/test_frameworks/cucumber.feature +6 -0
  14. data/gemfiles/typhoeus-new.gemfile +18 -0
  15. data/gemfiles/typhoeus-new.gemfile.lock +172 -0
  16. data/gemfiles/typhoeus-old.gemfile +18 -0
  17. data/gemfiles/typhoeus-old.gemfile.lock +159 -0
  18. data/lib/vcr/cassette/migrator.rb +1 -1
  19. data/lib/vcr/configuration.rb +28 -0
  20. data/lib/vcr/errors.rb +1 -1
  21. data/lib/vcr/library_hooks/typhoeus.rb +74 -77
  22. data/lib/vcr/library_hooks/typhoeus_0.4.rb +99 -0
  23. data/lib/vcr/middleware/faraday.rb +1 -1
  24. data/lib/vcr/request_ignorer.rb +2 -2
  25. data/lib/vcr/request_matcher_registry.rb +8 -3
  26. data/lib/vcr/structs.rb +8 -1
  27. data/lib/vcr/test_frameworks/cucumber.rb +1 -1
  28. data/lib/vcr/version.rb +1 -1
  29. data/script/ci.sh +8 -1
  30. data/spec/capture_warnings.rb +10 -0
  31. data/spec/monkey_patches.rb +21 -3
  32. data/spec/spec_helper.rb +2 -0
  33. data/spec/support/http_library_adapters.rb +29 -0
  34. data/spec/support/limited_uri.rb +30 -0
  35. data/spec/support/vcr_localhost_server.rb +1 -4
  36. data/spec/vcr/cassette/http_interaction_list_spec.rb +0 -1
  37. data/spec/vcr/configuration_spec.rb +15 -1
  38. data/spec/vcr/library_hooks/typhoeus_0.4_spec.rb +31 -0
  39. data/spec/vcr/library_hooks/typhoeus_spec.rb +6 -6
  40. data/spec/vcr/library_hooks/webmock_spec.rb +3 -1
  41. data/spec/vcr/middleware/faraday_spec.rb +3 -1
  42. data/spec/vcr/request_matcher_registry_spec.rb +3 -1
  43. data/spec/vcr/structs_spec.rb +27 -1
  44. data/spec/vcr/test_frameworks/cucumber_spec.rb +1 -1
  45. metadata +41 -29
@@ -9,7 +9,7 @@ describe VCR::CucumberTags do
9
9
  stub(:name => name, :feature => stub(:name => "My feature name\nThe preamble text is not included"))
10
10
  end
11
11
 
12
- let(:current_scenario) { scenario "My scenario name" }
12
+ let(:current_scenario) { scenario "My scenario name\nThe preamble text is not included" }
13
13
 
14
14
  # define our own Before/After so we can test this in isolation from cucumber's implementation.
15
15
  def Before(tag, &block)
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vcr
3
3
  version: !ruby/object:Gem::Version
4
- hash: 13
4
+ hash: 3
5
5
  prerelease:
6
6
  segments:
7
7
  - 2
8
- - 2
9
- - 5
10
- version: 2.2.5
8
+ - 3
9
+ - 0
10
+ version: 2.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Myron Marston
@@ -15,9 +15,10 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-09-08 00:00:00 Z
18
+ date: 2012-10-30 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
+ name: bundler
21
22
  version_requirements: &id001 !ruby/object:Gem::Requirement
22
23
  none: false
23
24
  requirements:
@@ -29,11 +30,11 @@ dependencies:
29
30
  - 0
30
31
  - 7
31
32
  version: 1.0.7
32
- name: bundler
33
33
  type: :development
34
34
  prerelease: false
35
35
  requirement: *id001
36
36
  - !ruby/object:Gem::Dependency
37
+ name: rake
37
38
  version_requirements: &id002 !ruby/object:Gem::Requirement
38
39
  none: false
39
40
  requirements:
@@ -45,11 +46,11 @@ dependencies:
45
46
  - 9
46
47
  - 2
47
48
  version: 0.9.2
48
- name: rake
49
49
  type: :development
50
50
  prerelease: false
51
51
  requirement: *id002
52
52
  - !ruby/object:Gem::Dependency
53
+ name: cucumber
53
54
  version_requirements: &id003 !ruby/object:Gem::Requirement
54
55
  none: false
55
56
  requirements:
@@ -61,11 +62,11 @@ dependencies:
61
62
  - 1
62
63
  - 4
63
64
  version: 1.1.4
64
- name: cucumber
65
65
  type: :development
66
66
  prerelease: false
67
67
  requirement: *id003
68
68
  - !ruby/object:Gem::Dependency
69
+ name: aruba
69
70
  version_requirements: &id004 !ruby/object:Gem::Requirement
70
71
  none: false
71
72
  requirements:
@@ -77,11 +78,11 @@ dependencies:
77
78
  - 4
78
79
  - 11
79
80
  version: 0.4.11
80
- name: aruba
81
81
  type: :development
82
82
  prerelease: false
83
83
  requirement: *id004
84
84
  - !ruby/object:Gem::Dependency
85
+ name: rspec
85
86
  version_requirements: &id005 !ruby/object:Gem::Requirement
86
87
  none: false
87
88
  requirements:
@@ -92,11 +93,11 @@ dependencies:
92
93
  - 2
93
94
  - 11
94
95
  version: "2.11"
95
- name: rspec
96
96
  type: :development
97
97
  prerelease: false
98
98
  requirement: *id005
99
99
  - !ruby/object:Gem::Dependency
100
+ name: shoulda
100
101
  version_requirements: &id006 !ruby/object:Gem::Requirement
101
102
  none: false
102
103
  requirements:
@@ -108,11 +109,11 @@ dependencies:
108
109
  - 9
109
110
  - 2
110
111
  version: 2.9.2
111
- name: shoulda
112
112
  type: :development
113
113
  prerelease: false
114
114
  requirement: *id006
115
115
  - !ruby/object:Gem::Dependency
116
+ name: fakeweb
116
117
  version_requirements: &id007 !ruby/object:Gem::Requirement
117
118
  none: false
118
119
  requirements:
@@ -124,11 +125,11 @@ dependencies:
124
125
  - 3
125
126
  - 0
126
127
  version: 1.3.0
127
- name: fakeweb
128
128
  type: :development
129
129
  prerelease: false
130
130
  requirement: *id007
131
131
  - !ruby/object:Gem::Dependency
132
+ name: webmock
132
133
  version_requirements: &id008 !ruby/object:Gem::Requirement
133
134
  none: false
134
135
  requirements:
@@ -140,11 +141,11 @@ dependencies:
140
141
  - 8
141
142
  - 3
142
143
  version: 1.8.3
143
- name: webmock
144
144
  type: :development
145
145
  prerelease: false
146
146
  requirement: *id008
147
147
  - !ruby/object:Gem::Dependency
148
+ name: faraday
148
149
  version_requirements: &id009 !ruby/object:Gem::Requirement
149
150
  none: false
150
151
  requirements:
@@ -155,11 +156,11 @@ dependencies:
155
156
  - 0
156
157
  - 8
157
158
  version: "0.8"
158
- name: faraday
159
159
  type: :development
160
160
  prerelease: false
161
161
  requirement: *id009
162
162
  - !ruby/object:Gem::Dependency
163
+ name: httpclient
163
164
  version_requirements: &id010 !ruby/object:Gem::Requirement
164
165
  none: false
165
166
  requirements:
@@ -170,11 +171,11 @@ dependencies:
170
171
  - 2
171
172
  - 2
172
173
  version: "2.2"
173
- name: httpclient
174
174
  type: :development
175
175
  prerelease: false
176
176
  requirement: *id010
177
177
  - !ruby/object:Gem::Dependency
178
+ name: excon
178
179
  version_requirements: &id011 !ruby/object:Gem::Requirement
179
180
  none: false
180
181
  requirements:
@@ -193,11 +194,11 @@ dependencies:
193
194
  - 1
194
195
  - 0
195
196
  version: "1.0"
196
- name: excon
197
197
  type: :development
198
198
  prerelease: false
199
199
  requirement: *id011
200
200
  - !ruby/object:Gem::Dependency
201
+ name: timecop
201
202
  version_requirements: &id012 !ruby/object:Gem::Requirement
202
203
  none: false
203
204
  requirements:
@@ -209,11 +210,11 @@ dependencies:
209
210
  - 3
210
211
  - 5
211
212
  version: 0.3.5
212
- name: timecop
213
213
  type: :development
214
214
  prerelease: false
215
215
  requirement: *id012
216
216
  - !ruby/object:Gem::Dependency
217
+ name: rack
217
218
  version_requirements: &id013 !ruby/object:Gem::Requirement
218
219
  none: false
219
220
  requirements:
@@ -225,11 +226,11 @@ dependencies:
225
226
  - 3
226
227
  - 6
227
228
  version: 1.3.6
228
- name: rack
229
229
  type: :development
230
230
  prerelease: false
231
231
  requirement: *id013
232
232
  - !ruby/object:Gem::Dependency
233
+ name: sinatra
233
234
  version_requirements: &id014 !ruby/object:Gem::Requirement
234
235
  none: false
235
236
  requirements:
@@ -241,11 +242,11 @@ dependencies:
241
242
  - 3
242
243
  - 2
243
244
  version: 1.3.2
244
- name: sinatra
245
245
  type: :development
246
246
  prerelease: false
247
247
  requirement: *id014
248
248
  - !ruby/object:Gem::Dependency
249
+ name: multi_json
249
250
  version_requirements: &id015 !ruby/object:Gem::Requirement
250
251
  none: false
251
252
  requirements:
@@ -257,11 +258,11 @@ dependencies:
257
258
  - 0
258
259
  - 3
259
260
  version: 1.0.3
260
- name: multi_json
261
261
  type: :development
262
262
  prerelease: false
263
263
  requirement: *id015
264
264
  - !ruby/object:Gem::Dependency
265
+ name: json
265
266
  version_requirements: &id016 !ruby/object:Gem::Requirement
266
267
  none: false
267
268
  requirements:
@@ -273,11 +274,11 @@ dependencies:
273
274
  - 6
274
275
  - 5
275
276
  version: 1.6.5
276
- name: json
277
277
  type: :development
278
278
  prerelease: false
279
279
  requirement: *id016
280
280
  - !ruby/object:Gem::Dependency
281
+ name: simplecov
281
282
  version_requirements: &id017 !ruby/object:Gem::Requirement
282
283
  none: false
283
284
  requirements:
@@ -289,11 +290,11 @@ dependencies:
289
290
  - 5
290
291
  - 3
291
292
  version: 0.5.3
292
- name: simplecov
293
293
  type: :development
294
294
  prerelease: false
295
295
  requirement: *id017
296
296
  - !ruby/object:Gem::Dependency
297
+ name: redis
297
298
  version_requirements: &id018 !ruby/object:Gem::Requirement
298
299
  none: false
299
300
  requirements:
@@ -305,11 +306,11 @@ dependencies:
305
306
  - 2
306
307
  - 2
307
308
  version: 2.2.2
308
- name: redis
309
309
  type: :development
310
310
  prerelease: false
311
311
  requirement: *id018
312
312
  - !ruby/object:Gem::Dependency
313
+ name: patron
313
314
  version_requirements: &id019 !ruby/object:Gem::Requirement
314
315
  none: false
315
316
  requirements:
@@ -321,11 +322,11 @@ dependencies:
321
322
  - 4
322
323
  - 15
323
324
  version: 0.4.15
324
- name: patron
325
325
  type: :development
326
326
  prerelease: false
327
327
  requirement: *id019
328
328
  - !ruby/object:Gem::Dependency
329
+ name: em-http-request
329
330
  version_requirements: &id020 !ruby/object:Gem::Requirement
330
331
  none: false
331
332
  requirements:
@@ -337,11 +338,11 @@ dependencies:
337
338
  - 0
338
339
  - 2
339
340
  version: 1.0.2
340
- name: em-http-request
341
341
  type: :development
342
342
  prerelease: false
343
343
  requirement: *id020
344
344
  - !ruby/object:Gem::Dependency
345
+ name: curb
345
346
  version_requirements: &id021 !ruby/object:Gem::Requirement
346
347
  none: false
347
348
  requirements:
@@ -353,11 +354,11 @@ dependencies:
353
354
  - 8
354
355
  - 0
355
356
  version: 0.8.0
356
- name: curb
357
357
  type: :development
358
358
  prerelease: false
359
359
  requirement: *id021
360
360
  - !ruby/object:Gem::Dependency
361
+ name: typhoeus
361
362
  version_requirements: &id022 !ruby/object:Gem::Requirement
362
363
  none: false
363
364
  requirements:
@@ -377,11 +378,11 @@ dependencies:
377
378
  - 5
378
379
  - 0
379
380
  version: 0.5.0
380
- name: typhoeus
381
381
  type: :development
382
382
  prerelease: false
383
383
  requirement: *id022
384
384
  - !ruby/object:Gem::Dependency
385
+ name: yajl-ruby
385
386
  version_requirements: &id023 !ruby/object:Gem::Requirement
386
387
  none: false
387
388
  requirements:
@@ -393,7 +394,6 @@ dependencies:
393
394
  - 1
394
395
  - 0
395
396
  version: 1.1.0
396
- name: yajl-ruby
397
397
  type: :development
398
398
  prerelease: false
399
399
  requirement: *id023
@@ -413,6 +413,7 @@ files:
413
413
  - .rspec
414
414
  - .travis.yml
415
415
  - .yardopts
416
+ - Appraisals
416
417
  - CHANGELOG.md
417
418
  - CONTRIBUTING.md
418
419
  - Gemfile
@@ -442,6 +443,7 @@ files:
442
443
  - features/configuration/hook_into.feature
443
444
  - features/configuration/ignore_request.feature
444
445
  - features/configuration/preserve_exact_body_bytes.feature
446
+ - features/configuration/uri_parser.feature
445
447
  - features/getting_started.md
446
448
  - features/hooks/after_http_request.feature
447
449
  - features/hooks/around_http_request.feature
@@ -476,6 +478,10 @@ files:
476
478
  - features/test_frameworks/rspec_metadata.feature
477
479
  - features/test_frameworks/shoulda.feature
478
480
  - features/test_frameworks/test_unit.feature
481
+ - gemfiles/typhoeus-new.gemfile
482
+ - gemfiles/typhoeus-new.gemfile.lock
483
+ - gemfiles/typhoeus-old.gemfile
484
+ - gemfiles/typhoeus-old.gemfile.lock
479
485
  - lib/vcr.rb
480
486
  - lib/vcr/cassette.rb
481
487
  - lib/vcr/cassette/erb_renderer.rb
@@ -497,6 +503,7 @@ files:
497
503
  - lib/vcr/library_hooks/fakeweb.rb
498
504
  - lib/vcr/library_hooks/faraday.rb
499
505
  - lib/vcr/library_hooks/typhoeus.rb
506
+ - lib/vcr/library_hooks/typhoeus_0.4.rb
500
507
  - lib/vcr/library_hooks/webmock.rb
501
508
  - lib/vcr/middleware/faraday.rb
502
509
  - lib/vcr/middleware/rack.rb
@@ -526,6 +533,7 @@ files:
526
533
  - spec/spec_helper.rb
527
534
  - spec/support/fixnum_extension.rb
528
535
  - spec/support/http_library_adapters.rb
536
+ - spec/support/limited_uri.rb
529
537
  - spec/support/ruby_interpreter.rb
530
538
  - spec/support/shared_example_groups/hook_into_http_library.rb
531
539
  - spec/support/shared_example_groups/request_hooks.rb
@@ -546,6 +554,7 @@ files:
546
554
  - spec/vcr/library_hooks/excon_spec.rb
547
555
  - spec/vcr/library_hooks/fakeweb_spec.rb
548
556
  - spec/vcr/library_hooks/faraday_spec.rb
557
+ - spec/vcr/library_hooks/typhoeus_0.4_spec.rb
549
558
  - spec/vcr/library_hooks/typhoeus_spec.rb
550
559
  - spec/vcr/library_hooks/webmock_spec.rb
551
560
  - spec/vcr/library_hooks_spec.rb
@@ -595,7 +604,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
595
604
  requirements: []
596
605
 
597
606
  rubyforge_project:
598
- rubygems_version: 1.8.6
607
+ rubygems_version: 1.8.24
599
608
  signing_key:
600
609
  specification_version: 3
601
610
  summary: Record your test suite's HTTP interactions and replay them during future test runs for fast, deterministic, accurate tests.
@@ -619,6 +628,7 @@ test_files:
619
628
  - features/configuration/hook_into.feature
620
629
  - features/configuration/ignore_request.feature
621
630
  - features/configuration/preserve_exact_body_bytes.feature
631
+ - features/configuration/uri_parser.feature
622
632
  - features/getting_started.md
623
633
  - features/hooks/after_http_request.feature
624
634
  - features/hooks/around_http_request.feature
@@ -665,6 +675,7 @@ test_files:
665
675
  - spec/spec_helper.rb
666
676
  - spec/support/fixnum_extension.rb
667
677
  - spec/support/http_library_adapters.rb
678
+ - spec/support/limited_uri.rb
668
679
  - spec/support/ruby_interpreter.rb
669
680
  - spec/support/shared_example_groups/hook_into_http_library.rb
670
681
  - spec/support/shared_example_groups/request_hooks.rb
@@ -685,6 +696,7 @@ test_files:
685
696
  - spec/vcr/library_hooks/excon_spec.rb
686
697
  - spec/vcr/library_hooks/fakeweb_spec.rb
687
698
  - spec/vcr/library_hooks/faraday_spec.rb
699
+ - spec/vcr/library_hooks/typhoeus_0.4_spec.rb
688
700
  - spec/vcr/library_hooks/typhoeus_spec.rb
689
701
  - spec/vcr/library_hooks/webmock_spec.rb
690
702
  - spec/vcr/library_hooks_spec.rb