Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: myronmarston/vcr
...
head fork: myronmarston/vcr
Checking mergeability… Don't worry, you can still create the pull request.
Commits on Mar 02, 2011
@myronmarston Fix readme links. bd013c9
@myronmarston Fixes for relish. 5bd3bff
@myronmarston Use "And" instead of second "Given". b19a93f
@myronmarston Fleshed out cassette format outline. fb6dbaa
Commits on Mar 05, 2011
@myronmarston Fix faraday middleware to handle nil response headers. 0131853
Commits on Mar 06, 2011
@myronmarston Fixed net/http adapter.
URI#request_uri should be used rather than URI#path, since #request_uri includes query params but #path does not.
534925a
@myronmarston Fix faraday adapter so that it properly normalizes query parameters. 0d4d9f5
@myronmarston Fix broken cukes.
We can't have different adapters return different values for #normalize_uri because it breaks when you stub with multiple libraries.
70b195f
Commits on Mar 19, 2011
@myronmarston 1.7.1 release. 0022cf7
Commits on Mar 24, 2011
@myronmarston Add rvm rubies to travis build. e875ddc
Commits on Mar 26, 2011
@myronmarston Don't build so many rubies. Travis seems to have gotten confused. f189e62
@myronmarston Ensure that header values are the same when recording and replaying.
- Typhoeus would have a single header value like 'text/html' when recording, but it was in an array on playback ['text/html'].
- Faraday headers are returned with lower case keys, and I was not handling this properly at all.

There are a few adapter/http library combinations that do not work properly when there are multiple values for one header:
- Faraday/Patron
- WebMock/HTTP Client
- WebMock/EM HTTP Request
- WebMock/Curb

I think this is due to a bug in those libraries.  I could change the way I pass headers to Faraday and WebMock, but that would break the other libs used with Faraday and WebMock (i.e. Faraday/Net::HTTP or WebMock/Net::HTTP) so I think it's best for now to just leave these pending.

Closes #50.
dbbc4b3
@myronmarston Update to em-http-request 0.3.0.
This fixes some specs that were previously pending due to a bug in em-http-request.
cc7f1b5
@myronmarston 1.7.2 release. 717d7c8
Commits on Apr 01, 2011
@myronmarston Update to Faraday 0.6. fb156a7
@myronmarston 1.8.0 release. 487332d
@myronmarston Fix spec to use https like the doc string says. 239f744
Commits on Apr 05, 2011
@myronmarston Fix synopsis example.
Example.com has changed :(.
3581134
Commits on Apr 06, 2011
@myronmarston I've been told travis supports all these rubies now...so let's try bu…
…ilding against them all.
d4eecce
Commits on Apr 08, 2011
@myronmarston Add some test cases for https requests. fb9d0f7
Commits on Apr 09, 2011
@myronmarston Use local tmp folder rather than Dir.mktmpdir for spec isolation.
On travis, the jruby build is failing every spec with an error like "Permission denied - /tmp/d20110408-13741-ptyay/."  This should fix it.
d039c5b
@myronmarston Fix spec so it passes on JRuby on travis.
On travis, JRuby is having permission denied errors for Dir.mktmpdir.
c880c8e
@myronmarston Fix spec so we don't create a 'spec..' dir on accident. 28d8916
@myronmarston Don't run em-http-request tests on travis on 1.8.6.
On travis, we're getting a weird error like:

ruby: symbol lookup error: /home/travis/.rvm/gems/ruby-1.8.6-p420/gems/em-http-request-0.3.0/lib/http11_client.so: undefined symbol: rb_hash_lookup
364ea9e
@myronmarston Lock linecache19 to a version that can install on 1.9.1 and 1.9.2. ded5cf1
@myronmarston Ignore leading and trailing whitespace for YAML fragment matching step. e2adda0
Commits on Apr 13, 2011
@myronmarston Install excon. 4cff3f5
@myronmarston Add beginnings of Excon adapter. 1b135e5
@myronmarston Check Excon version. b3e0b9c
@myronmarston Implement excon http adapter module. 38346fd
@myronmarston Implement Excon adapter. 92786a7
@myronmarston Add excon to cukes. 46341a1
@myronmarston Add excon info to readme. 0eef043
@myronmarston Update to Excon 0.6.1. 7bc841a
@myronmarston Fix spec so it doesn't create a cassette_lib directory in the project…
… root.
f40aa60
@myronmarston Fix cassette/format.feature cuke for excon.
Excon doesn't expose http_version or status.message so these are set to nil.
e983c9b
@myronmarston The excon adapter doesn't yet support regex URIs. 3b040aa
@myronmarston Remove travis status icon.
The build has been very unstable on travis recently (even though it passes fine locally) so there's no point in advertising the "unstable" travis status.
833624d
Commits on Apr 15, 2011
@myronmarston Upgrade excon to 0.6.2. 4c10172
@myronmarston Remove jruby stuff from full build--I can't get jruby to work with th…
…e full build :(.
bf20801
@myronmarston 1.9.0 release. ab598a7
@myronmarston Lock addressable to 2.2.4--2.2.5 has some regression errors.
See sporkmonger/addressable#33 for more info.
4763130
Commits on Apr 19, 2011
@myronmarston Build just 1.8.7 for now. 8f3f960
Commits on Apr 20, 2011
@myronmarston Fix header normalization to properly handle nested arrays and non-str…
…ing values.

Closes #40.
e9b37d4
Commits on Apr 22, 2011
@myronmarston Fix synopsis description. 89b3403
Commits on Apr 24, 2011
@myronmarston Curb uses the Curl namespace.
(thanks @phiggins!)
2fd32ce
Commits on Apr 26, 2011
@myronmarston Add cassette naming cuke that documents the fact that VCR sanitizes c…
…assette names.
74ff261
@myronmarston Lock relish to 0.2.2 since 0.2.3 has a jruby-openssl dependency.
This dependency causes issues since bundler puts it on the load path.

Closes #57.
1fe4f8f
@myronmarston Remove spec focusing I accidentally left before. bdd8e95
Commits on May 06, 2011
@myronmarston Use new github markdown syntax features. aa61962
@myronmarston Relax relish version constraint now that jruby-openssl isn't a depend…
…ency.
225c78c
@myronmarston Fix capitalization of cassette name.
This cuke should hopefully pass travis now.
6f482aa
@myronmarston Now that the 1.8.7 travis build is passing, let's try against other M…
…RI rubies.
5a9dc25
@myronmarston Don't enable debugging on 1.9.1.
For some reason I'm getting an error on travis for `config.debug = true` even though it works fine locally.
2fad0ee
Commits on May 07, 2011
@myronmarston Remove obselete reference to example.com. ba1ce1f
Commits on May 11, 2011
@jsmestad jsmestad Allow cassette insertions to be ignored while VCR is turned off. 1f3c02c
@myronmarston Cleanup new :disable_cassette_errors option.
- Rename it to :ignore_cassettes--I think this is more intention-revealing.
- Ensure `insert_cassette` does not actually insert a cassette when VCR is turned off with :ignore_cassettes => true.
- No need for `use_cassette` to handle this since `insert_cassette` handles it properly now.
- Add additional specs.
- Fix cassette insertion error message so it mentions the new
  :ignore_cassettes option.
bc85a65
@myronmarston Add scenarios to document new :ignore_cassettes option.
Closes #56.
6983ce1
@myronmarston Update changelog. 7613284
@myronmarston Raise an argument error when `VCR.turn_off!` is passed invalid options. 660267f
Commits on May 12, 2011
@myronmarston For the cucumber cuke, pull the server code into a separate file to h…
…opefully make it clearer that vcr_cucumber_helpers is not a file for end users to require.

See https://github.com/myronmarston/vcr/issues/63 for more details.
c9ab4b9
@myronmarston Update contributors. b466443
@myronmarston Fix rack middleware so that it is threadsafe.
VCR as a whole is not designed to be threadsafe (running your tests in multiple threads is asking for trouble), but the rack middleware needs to be, since some rack servers (like WEBrick) are multithreaded.

Closes #58.
eb530ae
@myronmarston Use a mutex rather than Thread.exclusive.
I'm getting errors from the rack middleware cuke on 1.8 w/ the Thread.exclusive.
a82787f
Commits on May 13, 2011
@myronmarston Only build 1.9.2 so I can focus on the one failing ruby. fd9fa29
@myronmarston Focus on just one failed cucumber scenario with logging output so I c…
…an see what's going on on travis.
b35e01c
Commits on May 14, 2011
@myronmarston Update rspec to latest. f52b13a
@myronmarston Make webrick logging visible on CI but not locally. 7be1de9
@myronmarston Use ci tag rather than wip for travis. b26c536
@myronmarston Ensure rack response body responds to each. 4453e92
@myronmarston Don't try to boot the sinatra server multiple times. 3449849
Commits on May 16, 2011
@myronmarston For some reason, this pending spec passes on travis CI even though it…
… fails locally.
7d3e14f
@myronmarston Run all cukes on CI.
One of the ones that was failing on 1.9.2 passes in isolation, so I want to run them all to see if there's an issue with running all of them.
48ea1e7
Commits on May 17, 2011
@myronmarston Run against all rubies on travis.
For some reason, I got a weird error on travis when running against 1.9.2 for HTTPClient, where the response was already the body string rather than an object that responds to #content.  This fixes that as well.
550eb66
Commits on May 18, 2011
@myronmarston Update addressable. ef232ea
Commits on May 19, 2011
@myronmarston Update to latest webmock. a32bc78
@myronmarston 1.10.0 release. 5fcfa61
Commits on May 30, 2011
@myronmarston fix typo d37b7f8
Commits on Jun 03, 2011
@myronmarston Allow relish docs to be re-pushed when I run "rake relish". 4db3d6e
Commits on Jun 14, 2011
@myronmarston Update Faraday to latest. 0308929
@myronmarston Github has changed their url for raw gists. 53023c2
Commits on Jun 20, 2011
@bradleyprice bradleyprice option to turn off cassettes is :ignore_cassettes. error message help…
… said it was :ignore_cassette, singular. This makes it nicer when you run into this problem :)
d70f8e2
@myronmarston Just run against 1.8.7 and 1.9.2 for now as I seem to regularly get b…
…acked up on travis.
1cca872
Commits on Jun 21, 2011
@myronmarston Merge pull request #72 from bradleyisotope/patch-1
option to turn off cassettes is :ignore_cassettes.  error message help sa
cefa21b
@myronmarston Update changelog. b604625
Commits on Jul 05, 2011
@myronmarston Fix excon adapter to handle query specified as a hash.
Closes #73.
a216984
Commits on Jul 15, 2011
@myronmarston Upgrade excon to latest. 113487e
@geemus geemus [excon] stubbed_response should return hash instead of struct 2b7ed5f
@myronmarston Update changelog. 2659fd5
Commits on Jul 16, 2011
@myronmarston Add spec for excon's streaming API. 00f50c2
@myronmarston Fix excon adapter so that it records a response even when excon raise…
…s an error due to an unexpected response.

Closes #77.
ca1e54a
@myronmarston Update excon version requirement to 0.6.5. 042a1b5
Commits on Jul 17, 2011
@myronmarston 1.10.1 release. 7573d96
@myronmarston 1.10.2 release.
Botched 1.10.1 by building gem on 1.9.2 with psych :(.
e472188
Commits on Jul 22, 2011
@myronmarston Add recent contributors to readme. d78791e
@myronmarston Handle case where body is nil.
Closes #79.
c986238
@myronmarston 1.10.3 release. d62fe13
Commits on Aug 16, 2011
@myronmarston Use latest webmock (1.7.0). 407b74e
@myronmarston WebMock::Net::HTTPResponse has been renamed to Net::WebMockHTTPResponse. 1eafe63
@myronmarston Refactor monkey patch management so that they are turned off by defau…
…lt and only enabled for individual specs.
9377c2b
@myronmarston Fix typhoeus adapter to work with latest WebMock.
WebMock now directly supports Typhoeus; we need to disable it so there aren't conflicts.
27e1de2
@myronmarston Bump up the webmock minimum version. df067af
@myronmarston Remove scenario that doesn't provide much value.
Also, it was failing with the latest webmock since webmock loads typhoeus now.
bb78d8d
@myronmarston Remove cukes from travis build.
They are very slow and may have been the source of previous travis issues.
9e75d28
@myronmarston Disable a spec from running on CI--it gets a stack level too deep err…
…or. I don't get it locally though--must be some weird psych issue.
2054cee
Commits on Aug 18, 2011
@myronmarston Build against some other MRI rubies. 8320c22
@myronmarston Don't install a bunch of extra unnecessary gems on travis. d21b758
@myronmarston Remove extra server logging from travis CI output. 5ff5728
@myronmarston Disable RSpec debug flag for CI. 5bb86dd
@myronmarston Update travis build matrix.
- The version of cucumber I'm locked to doesn't install on 1.9.3.
- Let's try building against rbx and jruby, too.
5c03919
@myronmarston Typhoeus is not available on JRuby. 0cf5a1e
@myronmarston Rubinius is getting crazy crashes on travis, so skip it for now. 698ad7d
@myronmarston Rename method so it matches what it actually does. 2349cbc
@myronmarston Extract common adapter logic. 9eacb74
@myronmarston WebMock 1.7.4 is out. abb8be9
@myronmarston Lock linecache to the latest version that works on 1.8.6 (since we st…
…ill support 1.8.6).
c5a80fc
Commits on Aug 19, 2011
@myronmarston 1.11.0 release. 966d8ba
@myronmarston Prevent releases on 1.9 as that leads to weird psych/syck errors in t…
…he gemspec.
c0141b0
@myronmarston 1.11.1 release. 5393e26
Commits on Aug 20, 2011
@myronmarston Skip httpclient cucumber scenarios on JRuby.
They are causing the cukes to freeze and provide little benefit on JRuby..
73b177b
@myronmarston Use bundler_args rather than a conditional to exclude "extras" group …
…gems from installing on travis-ci.
5353724
@myronmarston Run the cukes on 1.9.2 on travis. f6c2ffc
@myronmarston The cukes ran fine on travis for 1.9.2! Let's build them on 1.8.7 as …
…well.
cbf203c
Commits on Aug 21, 2011
@myronmarston Fix localhost server to work with rubinius.
For some reason, the object_id of the rack app is different in different threads on rubinius, but not on other rubies.
80667f8
@myronmarston Try building rubinius on travis now that I got it working locally. ecc9d40
Commits on Aug 22, 2011
@myronmarston Update to latest cucumber and aruba. 659ab15
@myronmarston Remove unneeded aruba patches. b552b07
@myronmarston Use latest aruba steps. 465d77c
@myronmarston Increase aruba timeout from default of 3 seconds to 10.
cucumber.feature takes longer than 3 seconds.
cfc1481
@myronmarston Fix changelog wording. 662ed74
@myronmarston Use fuubar formatter to get better test output. 6c7188d
@myronmarston It's httpclient, not http_client. 81d2246
@myronmarston The cukes take longer on JRuby, so make the timeout longer. 0713279
@myronmarston Excon is having issues on JRuby cukes, so disable it for now. b8f44f4
@myronmarston Update travis rubies.
- rbx is getting crazy fatal crash errors, so remove it.
- Let's try 1.9.3 now that we're on a version of cucumber that can be installed on 1.9.3.
3d1a8a5
Commits on Aug 25, 2011
@myronmarston Upgrade rake dependency. This should hopefully allow VCR to build on …
…1.9.3 on travis.
eda1867
@myronmarston Use progress formatter for cucumber on travis. 0ac66bf
@myronmarston ruby-debug doesn't appear to be installable on 1.9.3 yet. 9797f93
@myronmarston BasicObject's instance methods include #__id__ on 1.9.3. 63ee509
Commits on Aug 26, 2011
@myronmarston Fix cukes failing on 1.9.3.
On 1.9.3, we were getting an error: "file not found: --with-server (ArgumentError)".  Apparently the test/unit option parser has changed and doesn't support an arbitrary option like "-- --with-server".
94238f7
@myronmarston Build the 1.9.3 cukes on travis now that they pass. 939ba82
@myronmarston My last commit broke the test/unit and shoulda cukes on 1.8 :(.
This should (hopefully) work on 1.8 and 1.9.
bb0d71e
@myronmarston Exclude cucumber from installing on 1.8.6 as it causes a buffer overf…
…low on travis during installation.
f7bc6b8
@myronmarston Enable ruby warnings when the specs are run with WARNINGS=true. 1dcba45
@myronmarston Use "should eq(...)" instead of "should ==" to avoid ruby warning. 8fc0f6e
@myronmarston Fix warning: "`*' interpreted as argument prefix". af5086e
@myronmarston Fix warning: "loading in progress, circular require considered harmful". bae5941
@myronmarston Fix "instance variable not initialized" warnings. 0fe1d97
@myronmarston Fix warning: "`&' interpreted as argument prefix". a450306
@myronmarston Fix uninitialized variable warning. 3ebaa96
@myronmarston Fix mis-matched indentation warning. 735500c
@myronmarston Fix method redefinition warning. db9212e
Commits on Aug 27, 2011
@myronmarston I have no idea why, but `should eq(regex)` is causing a seg fault on …
…1.8.6 but this way doesn't.
5318f8e
@myronmarston Fix uninitialized ivar warning. 7e2ef02
@myronmarston Setup warnings as part of the build.
- Always run specs with warnigs enabled.
- Fail the build if there are warnings from VCR's code.
- Capture the warnings and print it on exit so the output is cleaner.
297f028
@myronmarston Silence method redefinition warnings. 7eedbc8
@myronmarston Fix uninitialized ivar warnings. edc2b5f
@myronmarston Enable warnings on travis, too. d8a5b21
Commits on Aug 28, 2011
@myronmarston Close our temporary file. 29e99aa
Commits on Aug 29, 2011
@myronmarston Update patron and curb dependencies. 1a5a770
@myronmarston Fix uninitialized ivar warning. ef6007c
@myronmarston Fix "unused variable" warnings on 1.9.3. bc012fd
@myronmarston Filter out warnings that JRuby wrongly reports as coming from VCR tha…
…t are actually coming from excon.
d4bd9ac
@myronmarston 1.11.2 release. 76c8d2b
Commits on Sep 01, 2011
@myronmarston Ensure that VCR::HTTPInteraction does not serialize `@ignored` since …
…it's transient state.
898c3ea
@myronmarston Convert pseudo-regexps to real regexps. 8545f21
@myronmarston 1.11.3 release. 0544db9
Commits on Sep 04, 2011
@myronmarston Fix capture warnings hook.
It was preventing RSpec from failing the build when a spec failed by overriding the at_exit hook.
d4f14e6
@myronmarston Build with --trace so we get a full backtrace. a2c36c3
Commits on Sep 05, 2011
@myronmarston Rubygems must be required before rspec on 1.8. 68e89ca
Commits on Sep 08, 2011
@myronmarston Latest relish and cucumber. 751bf4f
@myronmarston Tag multi-line strings with "ruby" so we get syntax highlighting on r…
…elish.
b62222b
@myronmarston Add note about :once as default record mode. 522ef5e
@myronmarston Use syntax-highlighted markdown code syntax. 43fea87
@myronmarston Use default record mode of :once rather than specifying it in a bunch…
… of places where it's not an important detail.
246bb6d
Commits on Sep 23, 2011
@myronmarston Only build master and 1-x-stable branches. c528202
@myronmarston Remove 1.8.6 build since travis no longer supports it. 05f70d1