sonic-pi

https://github.com/sonic-pi-net/sonic-pi

C++

Code. Music. Live.

Minitest::Assertions#capture_io

Captures $stdout and $stderr into strings:

  out, err = capture_io do
    puts "Some info"
    warn "You did a bad thing"
  end

  assert_match %r%info%, out
  assert_match %r%bad%, err

NOTE: For efficiency, this method uses StringIO and does not
capture IO for subprocesses. Use #capture_subprocess_io for
that.

Source | Google | Stack overflow

Edit

git clone [email protected]:sonic-pi-net/sonic-pi.git

cd sonic-pi

open app/server/ruby/vendor/minitest-5.18.1/lib/minitest/assertions.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-Minitest--Assertions-capture_io-for-pr


# Commit to git

git add app/server/ruby/vendor/minitest-5.18.1/lib/minitest/assertions.rbgit commit -m "better docs for Minitest::Assertions#capture_io"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-Minitest--Assertions-capture_io-for-pr

hub pull-request


# Celebrate!