From e169b87f9ec430c7520d340fb65647aed66e0f97 Mon Sep 17 00:00:00 2001
From: Markus Reiter <me@reitermark.us>
Date: Fri, 13 Apr 2018 15:14:11 +0200
Subject: [PATCH] Use `expect { }.to output`.

---
 Library/Homebrew/test/keg_spec.rb | 34 +++++++++++++------------------
 1 file changed, 14 insertions(+), 20 deletions(-)

diff --git a/Library/Homebrew/test/keg_spec.rb b/Library/Homebrew/test/keg_spec.rb
index b2ca62cff9..3c06f5b1c7 100644
--- a/Library/Homebrew/test/keg_spec.rb
+++ b/Library/Homebrew/test/keg_spec.rb
@@ -17,17 +17,6 @@ describe Keg do
     keg
   end
 
-  around do |example|
-    begin
-      @old_stdout = $stdout
-      $stdout = StringIO.new
-
-      example.run
-    ensure
-      $stdout = @old_stdout
-    end
-  end
-
   let(:dst) { HOMEBREW_PREFIX/"bin"/"helloworld" }
   let(:nonexistent) { Pathname.new("/some/nonexistent/path") }
   let(:mode) { OpenStruct.new }
@@ -96,13 +85,15 @@ describe Keg do
       it "only prints what would be done" do
         mode.dry_run = true
 
-        expect(keg.link(mode)).to eq(0)
-        expect(keg).not_to be_linked
+        expect {
+          expect(keg.link(mode)).to eq(0)
+        }.to output(<<~EOF).to_stdout
+          #{HOMEBREW_PREFIX}/bin/goodbye_cruel_world
+          #{HOMEBREW_PREFIX}/bin/helloworld
+          #{HOMEBREW_PREFIX}/bin/hiworld
+        EOF
 
-        ["hiworld", "helloworld", "goodbye_cruel_world"].each do |file|
-          expect($stdout.string).to match("#{HOMEBREW_PREFIX}/bin/#{file}")
-        end
-        expect($stdout.string.lines.count).to eq(3)
+        expect(keg).not_to be_linked
       end
     end
 
@@ -145,10 +136,13 @@ describe Keg do
         mode.overwrite = true
         mode.dry_run = true
 
-        expect(keg.link(mode)).to eq(0)
-        expect(keg).not_to be_linked
+        expect {
+          expect(keg.link(mode)).to eq(0)
+        }.to output(<<~EOF).to_stdout
+          #{dst}
+        EOF
 
-        expect($stdout.string).to eq("#{dst}\n")
+        expect(keg).not_to be_linked
       end
     end
 
-- 
GitLab