vcr 1.11.1 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (81) hide show
  1. data/.travis.yml +3 -0
  2. data/CHANGELOG.md +11 -4
  3. data/Gemfile +5 -4
  4. data/Rakefile +23 -4
  5. data/cucumber.yml +2 -2
  6. data/features/cassettes/automatic_re_recording.feature +2 -2
  7. data/features/cassettes/dynamic_erb.feature +2 -2
  8. data/features/cassettes/format.feature +1 -1
  9. data/features/cassettes/naming.feature +1 -1
  10. data/features/cassettes/no_cassette.feature +4 -4
  11. data/features/cassettes/request_matching.feature +5 -5
  12. data/features/cassettes/update_content_length_header.feature +3 -3
  13. data/features/configuration/allow_http_connections_when_no_cassette.feature +3 -3
  14. data/features/configuration/cassette_library_dir.feature +1 -1
  15. data/features/configuration/default_cassette_options.feature +5 -5
  16. data/features/configuration/filter_sensitive_data.feature +6 -6
  17. data/features/configuration/hooks.feature +6 -6
  18. data/features/configuration/ignore_hosts.feature +1 -1
  19. data/features/configuration/ignore_localhost.feature +2 -2
  20. data/features/configuration/stub_with.feature +4 -4
  21. data/features/http_libraries/em_http_request.feature +4 -4
  22. data/features/http_libraries/net_http.feature +10 -10
  23. data/features/middleware/faraday.feature +2 -2
  24. data/features/middleware/rack.feature +2 -2
  25. data/features/record_modes/all.feature +2 -2
  26. data/features/record_modes/new_episodes.feature +2 -2
  27. data/features/record_modes/none.feature +2 -2
  28. data/features/record_modes/once.feature +3 -3
  29. data/features/step_definitions/cli_steps.rb +6 -2
  30. data/features/support/env.rb +5 -8
  31. data/features/support/http_lib_filters.rb +6 -1
  32. data/features/test_frameworks/cucumber.feature +2 -2
  33. data/features/test_frameworks/rspec.feature +2 -2
  34. data/features/test_frameworks/shoulda.feature +13 -10
  35. data/features/test_frameworks/test_unit.feature +12 -9
  36. data/lib/vcr.rb +6 -0
  37. data/lib/vcr/config.rb +7 -1
  38. data/lib/vcr/deprecations/cassette.rb +16 -16
  39. data/lib/vcr/extensions/net_http_response.rb +4 -0
  40. data/lib/vcr/http_stubbing_adapters/common.rb +1 -1
  41. data/lib/vcr/http_stubbing_adapters/fakeweb.rb +6 -0
  42. data/lib/vcr/http_stubbing_adapters/webmock.rb +7 -0
  43. data/lib/vcr/middleware/cassette_arguments.rb +1 -0
  44. data/lib/vcr/structs/http_interaction.rb +1 -0
  45. data/lib/vcr/version.rb +1 -1
  46. data/spec/capture_warnings.rb +42 -0
  47. data/spec/monkey_patches.rb +5 -1
  48. data/spec/spec_helper.rb +2 -1
  49. data/spec/support/shared_example_groups/http_library.rb +19 -19
  50. data/spec/support/shared_example_groups/http_stubbing_adapter.rb +6 -6
  51. data/spec/support/shared_example_groups/ignore_localhost_deprecation.rb +1 -1
  52. data/spec/support/shared_example_groups/normalizers.rb +13 -15
  53. data/spec/support/sinatra_app.rb +2 -0
  54. data/spec/support/vcr_localhost_server.rb +4 -3
  55. data/spec/vcr/cassette/reader_spec.rb +4 -4
  56. data/spec/vcr/cassette_spec.rb +28 -28
  57. data/spec/vcr/config_spec.rb +11 -11
  58. data/spec/vcr/deprecations/cassette_spec.rb +4 -4
  59. data/spec/vcr/deprecations/config_spec.rb +2 -2
  60. data/spec/vcr/deprecations/http_stubbing_adapters/fakeweb_spec.rb +1 -1
  61. data/spec/vcr/extensions/net_http_response_spec.rb +3 -3
  62. data/spec/vcr/extensions/net_http_spec.rb +4 -4
  63. data/spec/vcr/http_stubbing_adapters/excon_spec.rb +5 -5
  64. data/spec/vcr/http_stubbing_adapters/faraday_spec.rb +4 -4
  65. data/spec/vcr/http_stubbing_adapters/multi_object_proxy_spec.rb +4 -4
  66. data/spec/vcr/middleware/cassette_arguments_spec.rb +5 -5
  67. data/spec/vcr/middleware/faraday_spec.rb +3 -3
  68. data/spec/vcr/middleware/rack_spec.rb +4 -4
  69. data/spec/vcr/request_matcher_spec.rb +13 -13
  70. data/spec/vcr/structs/http_interaction_spec.rb +6 -6
  71. data/spec/vcr/structs/request_spec.rb +7 -7
  72. data/spec/vcr/structs/response_spec.rb +5 -5
  73. data/spec/vcr/structs/response_status_spec.rb +2 -2
  74. data/spec/vcr/test_frameworks/cucumber_spec.rb +2 -2
  75. data/spec/vcr/test_frameworks/rspec_spec.rb +6 -7
  76. data/spec/vcr/util/hooks_spec.rb +9 -9
  77. data/spec/vcr_spec.rb +11 -17
  78. data/vcr.gemspec +11 -5
  79. metadata +47 -49
  80. data/features/support/aruba_workaround/aruba_patches.rb +0 -36
  81. data/features/support/aruba_workaround/background_process.rb +0 -4
data/.travis.yml CHANGED
@@ -1,7 +1,10 @@
1
+ env: CUCUMBER_FORMAT=progress
2
+ bundler_args: --without extras
1
3
  script: "bundle exec rake ci:build"
2
4
  rvm:
3
5
  - 1.8.6
4
6
  - 1.8.7
5
7
  - 1.9.2
8
+ - 1.9.3
6
9
  - ree
7
10
  - jruby
data/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  ## In git
2
2
 
3
- [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.1...master)
3
+ [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.2...master)
4
+
5
+ ## 1.11.2 (August 28, 2011)
6
+
7
+ [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.11.1...v1.11.2)
8
+
9
+ * Updated rake, cucumber and aruba dev dependencies to latest releases.
10
+ * Fix all warnings originating from VCR. VCR is now warning-free!
4
11
 
5
12
  ## 1.11.1 (August 18, 2011)
6
13
 
@@ -33,10 +40,10 @@
33
40
 
34
41
  [Full Changelog](http://github.com/myronmarston/vcr/compare/v1.10.0...v1.10.1)
35
42
 
36
- * Fix typo in error message [Bradley](https://github.com/bradleyisotope).
43
+ * Fix typo in error message. Fix provided by [Bradley](https://github.com/bradleyisotope).
37
44
  * Fix excon adapter to properly handle queries specified as a hash.
38
- * Fix excon adapter to stub a response with a hash as excon expects
39
- [Wesley Beary](https://github.com/geemus).
45
+ * Fix excon adapter to stub a response with a hash as excon expects.
46
+ Fix provided by [Wesley Beary](https://github.com/geemus).
40
47
  * Fix excon adapter so that it records a response even when excon raises
41
48
  an error due to an unexpected response.
42
49
 
data/Gemfile CHANGED
@@ -4,9 +4,9 @@ gemspec
4
4
  group :development do
5
5
  # patron and em-http-request can't install on JRuby, so we have to limit their platform here.
6
6
  platforms :ruby do
7
- gem 'patron', '0.4.9'
7
+ gem 'patron', '~> 0.4.15'
8
8
  gem 'em-http-request', '~> 0.3.0'
9
- gem 'curb', '0.7.8'
9
+ gem 'curb', '~> 0.7.15'
10
10
  gem 'typhoeus', '~> 0.2.1'
11
11
  end
12
12
 
@@ -22,6 +22,7 @@ group :extras do
22
22
  gem 'growl'
23
23
  gem 'relish'
24
24
  gem 'fuubar'
25
+ gem 'fuubar-cucumber'
25
26
 
26
27
  platforms :mri do
27
28
  gem 'rcov'
@@ -37,6 +38,6 @@ group :extras do
37
38
  gem 'linecache19', '0.5.11' # 0.5.12 cannot install on 1.9.1, and 0.5.11 appears to work with both 1.9.1 & 1.9.2
38
39
  gem 'ruby-debug19'
39
40
  gem 'ruby-debug-base19', RUBY_VERSION == '1.9.1' ? '0.11.23' : '~> 0.11.24'
40
- end
41
- end unless ENV['CI']
41
+ end unless RUBY_VERSION == '1.9.3'
42
+ end
42
43
 
data/Rakefile CHANGED
@@ -11,7 +11,11 @@ require "rspec/core/rake_task"
11
11
 
12
12
  RSpec::Core::RakeTask.new(:spec) do |t|
13
13
  t.verbose = false
14
- t.skip_bundler = true unless using_git
14
+ t.ruby_opts = "-w -r./spec/capture_warnings"
15
+
16
+ # I'm not sure why, but bundler seems to silence warnings...
17
+ t.skip_bundler = true
18
+
15
19
  t.rspec_opts = %w[--format progress] if (ENV['FULL_BUILD'] || !using_git)
16
20
  end
17
21
 
@@ -25,8 +29,10 @@ task :cleanup_rcov_files do
25
29
  rm_rf 'coverage.data'
26
30
  end
27
31
 
28
- require 'cucumber/rake/task'
29
- Cucumber::Rake::Task.new
32
+ unless RUBY_VERSION == '1.8.6'
33
+ require 'cucumber/rake/task'
34
+ Cucumber::Rake::Task.new
35
+ end
30
36
 
31
37
  task :default => [:spec, :cucumber]
32
38
 
@@ -40,11 +46,16 @@ namespace :ci do
40
46
 
41
47
  RSpec::Core::RakeTask.new(:spec) do |t|
42
48
  t.verbose = true
49
+ t.ruby_opts = "-w -r./spec/capture_warnings"
50
+ # I'm not sure why, but bundler seems to silence warnings...
51
+ t.skip_bundler = true
43
52
  t.rspec_opts = %w[--format progress --backtrace]
44
53
  end
45
54
 
55
+ ci_tasks = [:setup, :spec]
56
+ ci_tasks << :cucumber if %w[ 1.8.7 1.9.2 1.9.3 ].include?(RUBY_VERSION) && (!defined?(RUBY_ENGINE) || RUBY_ENGINE == 'ruby')
46
57
  desc "Run a ci build"
47
- task :build => [:setup, :spec]
58
+ task :build => ci_tasks
48
59
  end
49
60
 
50
61
  def ensure_relish_doc_symlinked(filename)
@@ -86,3 +97,11 @@ task :release => [:require_ruby_18, :prep_relish_release, :relish]
86
97
 
87
98
  # For gem-test: http://gem-testers.org/
88
99
  task :test => :spec
100
+
101
+ task :fix_should_eq do
102
+ Dir["spec/**/*.rb"].each do |spec_file|
103
+ contents = File.read(spec_file)
104
+ contents.gsub!(/should == (.*)$/, 'should eq(\1)')
105
+ File.open(spec_file, 'w') { |f| f.write(contents) }
106
+ end
107
+ end
data/cucumber.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  <%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} --strict --tags ~@wip"
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'Cucumber::Formatter::Fuubar'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'Cucumber::Formatter::Fuubar'} --strict --tags ~@wip"
5
5
  interp_opts = if defined?(RUBY_ENGINE)
6
6
  " --tags ~@exclude-#{RUBY_ENGINE}"
7
7
  else
@@ -52,7 +52,7 @@ Feature: Automatic Re-recording
52
52
 
53
53
  Scenario: Cassette is not re-recorded when not enough time has passed
54
54
  Given 6 days have passed since the cassette was recorded
55
- When I run "ruby re_record.rb"
55
+ When I run `ruby re_record.rb`
56
56
  Then the output should contain "Old Response"
57
57
  But the output should not contain "New Response"
58
58
  And the file "cassettes/example.yml" should contain "body: Old Response"
@@ -60,7 +60,7 @@ Feature: Automatic Re-recording
60
60
 
61
61
  Scenario: Cassette is re-recorded when enough time has passed
62
62
  Given 8 days have passed since the cassette was recorded
63
- When I run "ruby re_record.rb"
63
+ When I run `ruby re_record.rb`
64
64
  Then the output should contain "New Response"
65
65
  But the output should not contain "Old Response"
66
66
  And the file "cassettes/example.yml" should contain "body: New Response"
@@ -46,7 +46,7 @@ Feature: Dynamic ERB cassettes
46
46
  puts "Response: #{response.body}"
47
47
  end
48
48
  """
49
- When I run "ruby dynamic_erb_example.rb"
49
+ When I run `ruby dynamic_erb_example.rb`
50
50
  Then it should pass with "Response: Hello bas"
51
51
 
52
52
  Scenario: Pass arguments to the ERB using :erb => { ... }
@@ -86,5 +86,5 @@ Feature: Dynamic ERB cassettes
86
86
  puts "Response: #{response.body}"
87
87
  end
88
88
  """
89
- When I run "ruby dynamic_erb_example.rb"
89
+ When I run `ruby dynamic_erb_example.rb`
90
90
  Then it should pass with "Response: Hello baz"
@@ -40,7 +40,7 @@ Feature: Cassette format
40
40
  make_http_request(:get, "http://localhost:7777/bar")
41
41
  end
42
42
  """
43
- When I run "ruby cassette_format.rb 'Hello'"
43
+ When I run `ruby cassette_format.rb 'Hello'`
44
44
  Then the file "cassettes/example.yml" should contain YAML like:
45
45
  """
46
46
  ---
@@ -25,5 +25,5 @@ Feature: Naming
25
25
  end
26
26
  """
27
27
  And the directory "cassettes" does not exist
28
- When I run "ruby name_sanitizing.rb"
28
+ When I run `ruby name_sanitizing.rb`
29
29
  Then the file "cassettes/Fee_Fi_Fo_Fum.yml" should contain "body: Hello"
@@ -34,7 +34,7 @@ Feature: Error for HTTP request made when no cassette is in use
34
34
 
35
35
  response_body_for(:get, 'http://example.com/')
36
36
  """
37
- When I run "ruby no_cassette_error.rb"
37
+ When I run `ruby no_cassette_error.rb`
38
38
  Then it should fail with "<error>"
39
39
  And the output should contain each of the following:
40
40
  | You can use VCR to automatically record this request and replay it later. |
@@ -85,7 +85,7 @@ Feature: Error for HTTP request made when no cassette is in use
85
85
  VCR.turn_on!
86
86
  make_request "After calling VCR.turn_on!"
87
87
  """
88
- When I run "ruby turn_off_vcr.rb"
88
+ When I run `ruby turn_off_vcr.rb`
89
89
  Then the output should contain:
90
90
  """
91
91
  In VCR.turned_off block
@@ -119,7 +119,7 @@ Feature: Error for HTTP request made when no cassette is in use
119
119
  VCR.turn_off!
120
120
  VCR.insert_cassette('example')
121
121
  """
122
- When I run "ruby turn_off_vcr_and_insert_cassette.rb"
122
+ When I run `ruby turn_off_vcr_and_insert_cassette.rb`
123
123
  Then it should fail with "VCR is turned off. You must turn it on before you can insert a cassette."
124
124
 
125
125
  Scenario: Turning VCR off with `:ignore_cassettes => true` ignores cassettes
@@ -145,7 +145,7 @@ Feature: Error for HTTP request made when no cassette is in use
145
145
  puts "Response: #{response}"
146
146
  end
147
147
  """
148
- When I run "ruby turn_off_vcr_and_insert_cassette.rb"
148
+ When I run `ruby turn_off_vcr_and_insert_cassette.rb`
149
149
  Then it should pass with "Response: Hello"
150
150
  And the file "cassettes/example.yml" should not exist
151
151
 
@@ -79,7 +79,7 @@ Feature: Request matching
79
79
  puts response_body_for(:get, 'http://example.com/foo')
80
80
  end
81
81
  """
82
- When I run "ruby rotate_responses.rb"
82
+ When I run `ruby rotate_responses.rb`
83
83
  Then it should pass with:
84
84
  """
85
85
  Response 1
@@ -149,7 +149,7 @@ Feature: Request matching
149
149
  puts response_body_for(:put, "http://bar.com/foo?date=#{Date.today.to_s}")
150
150
  end
151
151
  """
152
- When I run "ruby host_path_matching.rb"
152
+ When I run `ruby host_path_matching.rb`
153
153
  Then it should pass with:
154
154
  """
155
155
  foo.com response
@@ -223,7 +223,7 @@ Feature: Request matching
223
223
  puts response_body_for(:post, "http://example.com/", 'a=1')
224
224
  end
225
225
  """
226
- When I run "ruby body_matching.rb"
226
+ When I run `ruby body_matching.rb`
227
227
  Then it should pass with:
228
228
  """
229
229
  a=2 response
@@ -296,7 +296,7 @@ Feature: Request matching
296
296
  puts response_body_for(:get, "http://example.com/dashboard", nil, 'X-User-Id' => '17')
297
297
  end
298
298
  """
299
- When I run "ruby header_matching.rb"
299
+ When I run `ruby header_matching.rb`
300
300
  Then it should pass with:
301
301
  """
302
302
  user 42 response
@@ -365,7 +365,7 @@ Feature: Request matching
365
365
  puts response_body_for(:get, "http://bar.com/foo?date=#{Date.today.to_s}")
366
366
  end
367
367
  """
368
- When I run "ruby uri_regex_matching.rb"
368
+ When I run `ruby uri_regex_matching.rb`
369
369
  Then it should pass with:
370
370
  """
371
371
  foo.com response
@@ -65,7 +65,7 @@ Feature: Update content_length header
65
65
  make_request_and_print_results
66
66
  end
67
67
  """
68
- When I run "ruby default.rb"
68
+ When I run `ruby default.rb`
69
69
  Then the output should contain:
70
70
  """
71
71
  Body length: 16
@@ -81,7 +81,7 @@ Feature: Update content_length header
81
81
  make_request_and_print_results
82
82
  end
83
83
  """
84
- When I run "ruby false.rb"
84
+ When I run `ruby false.rb`
85
85
  Then the output should contain:
86
86
  """
87
87
  Body length: 16
@@ -97,7 +97,7 @@ Feature: Update content_length header
97
97
  make_request_and_print_results
98
98
  end
99
99
  """
100
- When I run "ruby true.rb"
100
+ When I run `ruby true.rb`
101
101
  Then the output should contain:
102
102
  """
103
103
  Body length: 16
@@ -33,7 +33,7 @@ Feature: Allow HTTP connections when no cassette
33
33
 
34
34
  puts "Response: " + Net::HTTP.get_response('localhost', '/', 7777).body
35
35
  """
36
- When I run "ruby no_cassette.rb --with-server"
36
+ When I run `ruby no_cassette.rb --with-server`
37
37
  Then the output should contain "Response: Hello"
38
38
 
39
39
  Scenario: Cassettes record and replay as normal
@@ -45,10 +45,10 @@ Feature: Allow HTTP connections when no cassette
45
45
  puts "Response: " + Net::HTTP.get_response('localhost', '/', 7777).body
46
46
  end
47
47
  """
48
- When I run "ruby record_replay_cassette.rb --with-server"
48
+ When I run `ruby record_replay_cassette.rb --with-server`
49
49
  Then the output should contain "Response: Hello"
50
50
  And the file "cassettes/localhost.yml" should contain "body: Hello"
51
51
 
52
- When I run "ruby record_replay_cassette.rb"
52
+ When I run `ruby record_replay_cassette.rb`
53
53
  Then the output should contain "Response: Hello"
54
54
 
@@ -24,5 +24,5 @@ Feature: cassette_library_dir
24
24
  end
25
25
  """
26
26
  And the directory "vcr/cassettes" does not exist
27
- When I run "ruby cassette_library_dir.rb"
27
+ When I run `ruby cassette_library_dir.rb`
28
28
  Then the file "vcr/cassettes/localhost.yml" should exist
@@ -31,7 +31,7 @@ Feature: default_cassette_options
31
31
  puts "ERB: #{VCR.current_cassette.erb}"
32
32
  end
33
33
  """
34
- When I run "ruby default_cassette_options.rb"
34
+ When I run `ruby default_cassette_options.rb`
35
35
  Then the output should contain:
36
36
  """
37
37
  Record Mode: new_episodes
@@ -47,7 +47,7 @@ Feature: default_cassette_options
47
47
  puts "Match Requests On: #{VCR.current_cassette.match_requests_on.inspect}"
48
48
  end
49
49
  """
50
- When I run "ruby default_cassette_options.rb"
50
+ When I run `ruby default_cassette_options.rb`
51
51
  Then the output should contain "Match Requests On: [:method, :uri]"
52
52
 
53
53
  Scenario: `:record` defaults to `:once` when it has not been set
@@ -65,7 +65,7 @@ Feature: default_cassette_options
65
65
  puts "Record mode: #{VCR.current_cassette.record_mode.inspect}"
66
66
  end
67
67
  """
68
- When I run "ruby default_record_mode.rb"
68
+ When I run `ruby default_record_mode.rb`
69
69
  Then the output should contain "Record mode: :once"
70
70
 
71
71
  Scenario: cassettes can set their own options
@@ -77,7 +77,7 @@ Feature: default_cassette_options
77
77
  puts "Re-record Interval: #{VCR.current_cassette.re_record_interval}"
78
78
  end
79
79
  """
80
- When I run "ruby default_cassette_options.rb"
80
+ When I run `ruby default_cassette_options.rb`
81
81
  Then the output should contain "Re-record Interval: 10000"
82
82
 
83
83
  Scenario: cassettes can override default options
@@ -90,7 +90,7 @@ Feature: default_cassette_options
90
90
  puts "ERB: #{VCR.current_cassette.erb}"
91
91
  end
92
92
  """
93
- When I run "ruby default_cassette_options.rb"
93
+ When I run `ruby default_cassette_options.rb`
94
94
  Then the output should contain:
95
95
  """
96
96
  Record Mode: none
@@ -48,13 +48,13 @@ Feature: Filter sensitive data
48
48
  puts "Response: #{response.body}"
49
49
  end
50
50
  """
51
- When I run "ruby filtering.rb --with-server"
51
+ When I run `ruby filtering.rb --with-server`
52
52
  Then the output should contain "Response: Hello World"
53
53
  And the file "cassettes/filtering.yml" should contain "body: <GREETING> <LOCATION>"
54
54
  And the file "cassettes/filtering.yml" should not contain "Hello"
55
55
  And the file "cassettes/filtering.yml" should not contain "World"
56
56
 
57
- When I run "ruby filtering.rb"
57
+ When I run `ruby filtering.rb`
58
58
  Then the output should contain "Hello World"
59
59
 
60
60
  Scenario: Filter tagged cassettes
@@ -87,14 +87,14 @@ Feature: Filter sensitive data
87
87
  puts "Untagged Response: #{response.body}"
88
88
  end
89
89
  """
90
- When I run "ruby tagged_filtering.rb --with-server"
90
+ When I run `ruby tagged_filtering.rb --with-server`
91
91
  Then the output should contain each of the following:
92
92
  | Tagged Response: Hello World 1 |
93
93
  | Untagged Response: Hello World 2 |
94
94
  And the file "cassettes/tagged.yml" should contain "body: Hello <LOCATION> 1"
95
95
  And the file "cassettes/untagged.yml" should contain "body: Hello World 2"
96
96
 
97
- When I run "ruby tagged_filtering.rb"
97
+ When I run `ruby tagged_filtering.rb`
98
98
  Then the output should contain each of the following:
99
99
  | Tagged Response: Hello World 1 |
100
100
  | Untagged Response: Hello World 2 |
@@ -141,7 +141,7 @@ Feature: Filter sensitive data
141
141
  )
142
142
  end
143
143
  """
144
- When I run "ruby dynamic_filtering.rb --with-server"
144
+ When I run `ruby dynamic_filtering.rb --with-server`
145
145
  Then the output should contain "john.doe/monkey"
146
146
  And the file "cassettes/example.yml" should contain "body: john.doe/<PASSWORD>"
147
147
  And the file "cassettes/example.yml" should contain a YAML fragment like:
@@ -150,5 +150,5 @@ Feature: Filter sensitive data
150
150
  - <PASSWORD>
151
151
  """
152
152
 
153
- When I run "ruby dynamic_filtering.rb"
153
+ When I run `ruby dynamic_filtering.rb`
154
154
  Then the output should contain "john.doe/monkey"
@@ -83,7 +83,7 @@ Feature: Hooks
83
83
  Net::HTTP.get_response('localhost', '/', 7777)
84
84
  end
85
85
  """
86
- When I run "ruby before_record_example.rb"
86
+ When I run `ruby before_record_example.rb`
87
87
  Then the file "cassettes/recording_example.yml" should contain "body: Hello World"
88
88
  And the file "cassettes/recording_example.yml" should not contain "secret"
89
89
 
@@ -109,7 +109,7 @@ Feature: Hooks
109
109
  puts "Response: #{response.body}"
110
110
  end
111
111
  """
112
- When I run "ruby before_record_ignore.rb"
112
+ When I run `ruby before_record_ignore.rb`
113
113
  Then it should pass with "Response: Hello World"
114
114
  And the file "cassettes/recording_example.yml" should not exist
115
115
 
@@ -132,7 +132,7 @@ Feature: Hooks
132
132
  puts "Response: #{response.body}"
133
133
  end
134
134
  """
135
- When I run "ruby before_playback_example.rb"
135
+ When I run `ruby before_playback_example.rb`
136
136
  Then it should pass with "Response: response from before_playback"
137
137
 
138
138
  Scenario: Prevent playback by ignoring interaction in before_playback hook
@@ -178,7 +178,7 @@ Feature: Hooks
178
178
  puts "Response: #{response.body}"
179
179
  end
180
180
  """
181
- When I run "ruby before_playback_ignore.rb"
181
+ When I run `ruby before_playback_ignore.rb`
182
182
  Then it should pass with "Response: sinatra response"
183
183
 
184
184
  Scenario: Multiple hooks are run in order
@@ -211,7 +211,7 @@ Feature: Hooks
211
211
  puts "Response 2: #{response.body}"
212
212
  end
213
213
  """
214
- When I run "ruby multiple_hooks.rb"
214
+ When I run `ruby multiple_hooks.rb`
215
215
  Then it should pass with:
216
216
  """
217
217
  In before_playback hook 1
@@ -254,7 +254,7 @@ Feature: Hooks
254
254
  end
255
255
  end
256
256
  """
257
- When I run "ruby tagged_hooks.rb"
257
+ When I run `ruby tagged_hooks.rb`
258
258
  Then it should pass with:
259
259
  """
260
260
  Using tag: :tag_1