From 7620eab8444eade3f1a231b9ebd4389f3054bc4e Mon Sep 17 00:00:00 2001 From: Olia Kremmyda Date: Wed, 7 Mar 2018 15:54:02 +0200 Subject: [PATCH] Add reset method in curb adapter Fixes #703 --- lib/webmock/http_lib_adapters/curb_adapter.rb | 5 +++++ spec/acceptance/curb/curb_spec.rb | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/lib/webmock/http_lib_adapters/curb_adapter.rb b/lib/webmock/http_lib_adapters/curb_adapter.rb index 48afe1f3d..9acddd836 100644 --- a/lib/webmock/http_lib_adapters/curb_adapter.rb +++ b/lib/webmock/http_lib_adapters/curb_adapter.rb @@ -332,6 +332,11 @@ def on_#{callback} &block end METHOD end + + def reset + instance_variable_set(:@body_str, nil) + super + end end end end diff --git a/spec/acceptance/curb/curb_spec.rb b/spec/acceptance/curb/curb_spec.rb index c5134d300..562ba7463 100644 --- a/spec/acceptance/curb/curb_spec.rb +++ b/spec/acceptance/curb/curb_spec.rb @@ -462,5 +462,20 @@ it_should_behave_like "Curb" include CurbSpecHelper::ClassPerform end + + describe "using .reset" do + before do + @curl = Curl::Easy.new + @curl.url = "http://example.com" + body = "on_success fired" + stub_request(:any, "example.com").to_return(body: body) + @curl.http_get + end + + it "should clear the body_str" do + @curl.reset + expect(@curl.body_str).to eq(nil) + end + end end end