diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-05 18:28:51 -0200 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-05 18:28:51 -0200 |
commit | 6953f16efa364793b29686db032d32673134f4fd (patch) | |
tree | 45d7a4858bdba4630f6c1d1fc950b11c4f4cdd6a /activesupport | |
parent | 35e2255b7afd31f78d7d1978f3dff91f3dfed719 (diff) | |
parent | 166ce95f65cd6b54e23d43e0e61875d6c3a38047 (diff) | |
download | rails-6953f16efa364793b29686db032d32673134f4fd.tar.gz rails-6953f16efa364793b29686db032d32673134f4fd.tar.bz2 rails-6953f16efa364793b29686db032d32673134f4fd.zip |
Merge pull request #18526 from vipulnsward/add-silence-stream
Extracted silence_stream method to new module in activesupport/testing
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/testing/stream.rb | 42 | ||||
-rw-r--r-- | activesupport/test/deprecation_test.rb | 19 |
2 files changed, 45 insertions, 16 deletions
diff --git a/activesupport/lib/active_support/testing/stream.rb b/activesupport/lib/active_support/testing/stream.rb new file mode 100644 index 0000000000..895192ad05 --- /dev/null +++ b/activesupport/lib/active_support/testing/stream.rb @@ -0,0 +1,42 @@ +module ActiveSupport + module Testing + module Stream #:nodoc: + private + + def silence_stream(stream) + old_stream = stream.dup + stream.reopen(IO::NULL) + stream.sync = true + yield + ensure + stream.reopen(old_stream) + old_stream.close + end + + def quietly + silence_stream(STDOUT) do + silence_stream(STDERR) do + yield + end + end + end + + def capture(stream) + stream = stream.to_s + captured_stream = Tempfile.new(stream) + stream_io = eval("$#{stream}") + origin_stream = stream_io.dup + stream_io.reopen(captured_stream) + + yield + + stream_io.rewind + return captured_stream.read + ensure + captured_stream.close + captured_stream.unlink + stream_io.reopen(origin_stream) + end + end + end +end diff --git a/activesupport/test/deprecation_test.rb b/activesupport/test/deprecation_test.rb index 7aff56cbad..20bd8ee5dd 100644 --- a/activesupport/test/deprecation_test.rb +++ b/activesupport/test/deprecation_test.rb @@ -1,4 +1,5 @@ require 'abstract_unit' +require 'active_support/testing/stream' class Deprecatee def initialize @@ -36,6 +37,8 @@ end class DeprecationTest < ActiveSupport::TestCase + include ActiveSupport::Testing::Stream + def setup # Track the last warning. @old_behavior = ActiveSupport::Deprecation.behavior @@ -356,20 +359,4 @@ class DeprecationTest < ActiveSupport::TestCase deprecator end - def capture(stream) - stream = stream.to_s - captured_stream = Tempfile.new(stream) - stream_io = eval("$#{stream}") - origin_stream = stream_io.dup - stream_io.reopen(captured_stream) - - yield - - stream_io.rewind - return captured_stream.read - ensure - captured_stream.close - captured_stream.unlink - stream_io.reopen(origin_stream) - end end |