aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/core_ext/kernel_test.rb
blob: e2d89176b9d744f6399c15db10619cf4df2a6ae5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
require 'test/unit'
require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/kernel'

class KernelTest < Test::Unit::TestCase
  def test_silence_warnings
    silence_warnings { assert_nil $VERBOSE }
    assert_equal 1234, silence_warnings { 1234 }
  end

  def test_silence_warnings_verbose_invariant
    old_verbose = $VERBOSE
    begin
      silence_warnings { raise }
      flunk
    rescue
      assert_equal old_verbose, $VERBOSE
    end
  end
  
  def test_silence_warnings_with_return_value
    assert_equal 1, silence_warnings { 1 }
  end
  
  def test_silence_stderr
    old_stderr_position = STDERR.tell
    silence_stderr { STDERR.puts 'hello world' }
    assert_equal old_stderr_position, STDERR.tell
  end
  
  def test_silence_stderr_with_return_value
    assert_equal 1, silence_stderr { 1 }
  end
end