From 1ed0a755ea3c53c38707614ddcf29e8fb5096490 Mon Sep 17 00:00:00 2001 From: Jon Rowe Date: Sun, 5 Apr 2020 12:25:31 +0100 Subject: [PATCH] Wrap keyword args definitions in eval blocks for 1.8.7 support --- spec/rspec/matchers/dsl_spec.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/rspec/matchers/dsl_spec.rb b/spec/rspec/matchers/dsl_spec.rb index c49ca2a26..068b9d28c 100644 --- a/spec/rspec/matchers/dsl_spec.rb +++ b/spec/rspec/matchers/dsl_spec.rb @@ -30,6 +30,7 @@ def ok end if RSpec::Support::RubyFeatures.required_kw_args_supported? + binding.eval(<<-CODE, __FILE__, __LINE__) def kw(a:) a end @@ -38,9 +39,11 @@ def kw(a:) RSpec::Matchers.define(:matcher_kw) {} expect(matcher_kw.kw(a: 1)).to eq(1) end + CODE end if RSpec::Support::RubyFeatures.kw_args_supported? + binding.eval(<<-CODE, __FILE__, __LINE__) def optional_kw(a: nil) a end @@ -49,6 +52,7 @@ def optional_kw(a: nil) RSpec::Matchers.define(:matcher_optional_kw) {} expect(matcher_optional_kw.optional_kw(a: 1)).to eq(1) end + CODE end it "clears user instance variables between invocations" do