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