From 16988d9b759c023c8d17e88303af39b95631db29 Mon Sep 17 00:00:00 2001 From: John Nunemaker Date: Tue, 27 Aug 2024 08:30:25 -0400 Subject: [PATCH] Fix failing spec due to deprecation warning silence should return yield. Added new method capture_output to better describe capturing the output. ``` DEPRECATION WARNING: config.active_support.remove_deprecated_time_with_zone_name is deprecated and will be removed in Rails 7.2. (called from block (2 levels) in at /home/runner/work/flipper/flipper/spec/flipper/engine_spec.rb:32) ``` --- spec/flipper/adapters/strict_spec.rb | 4 ++-- spec/flipper/engine_spec.rb | 2 +- spec/flipper/middleware/memoizer_spec.rb | 2 +- spec/support/spec_helpers.rb | 15 +++++++++++++-- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/spec/flipper/adapters/strict_spec.rb b/spec/flipper/adapters/strict_spec.rb index 9df2f444c..0b0bccb44 100644 --- a/spec/flipper/adapters/strict_spec.rb +++ b/spec/flipper/adapters/strict_spec.rb @@ -29,13 +29,13 @@ context "#get" do it "raises an error for unknown feature" do - expect(silence { subject.get(feature) }).to match(/Could not find feature "unknown"/) + expect(capture_output { subject.get(feature) }).to match(/Could not find feature "unknown"/) end end context "#get_multi" do it "raises an error for unknown feature" do - expect(silence { subject.get_multi([feature]) }).to match(/Could not find feature "unknown"/) + expect(capture_output { subject.get_multi([feature]) }).to match(/Could not find feature "unknown"/) end end end diff --git a/spec/flipper/engine_spec.rb b/spec/flipper/engine_spec.rb index d8de2b9fd..eed59b5bb 100644 --- a/spec/flipper/engine_spec.rb +++ b/spec/flipper/engine_spec.rb @@ -29,7 +29,7 @@ let(:config) { application.config.flipper } - subject { application.initialize! } + subject { SpecHelpers.silence { application.initialize! } } shared_examples 'config.strict' do let(:adapter) { Flipper.adapter.adapter } diff --git a/spec/flipper/middleware/memoizer_spec.rb b/spec/flipper/middleware/memoizer_spec.rb index 065451652..1a409c67a 100644 --- a/spec/flipper/middleware/memoizer_spec.rb +++ b/spec/flipper/middleware/memoizer_spec.rb @@ -285,7 +285,7 @@ end def get(uri, params = {}, env = {}, &block) - silence { super(uri, params, env, &block) } + capture_output { super(uri, params, env, &block) } end include_examples 'flipper middleware' diff --git a/spec/support/spec_helpers.rb b/spec/support/spec_helpers.rb index 04b08bfa4..e6972e879 100644 --- a/spec/support/spec_helpers.rb +++ b/spec/support/spec_helpers.rb @@ -79,11 +79,22 @@ def silence original_stdout = $stdout # Redirect stderr and stdout - output = $stderr = $stdout = StringIO.new + $stderr = $stdout = StringIO.new + + yield + ensure + $stderr = original_stderr + $stdout = original_stdout + end + + def capture_output + original_stderr = $stderr + original_stdout = $stdout + + output = $stdout = $stderr = StringIO.new yield - # Return output output.string ensure $stderr = original_stderr