File: test_console.rb

package info (click to toggle)
ruby-logging 2.4.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 688 kB
  • sloc: ruby: 6,272; sh: 9; makefile: 2
file content (108 lines) | stat: -rw-r--r-- 2,648 bytes parent folder | download
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

require File.expand_path('../setup', File.dirname(__FILE__))

module TestLogging
module TestAppenders

  class TestConsole < Test::Unit::TestCase
    include LoggingTestCase

    def test_initialize
      assert_raise(RuntimeError) { Logging::Appenders::Console.new("test") }
    end
  end

  class TestStdout < Test::Unit::TestCase
    include LoggingTestCase

    def test_initialize
      Logging::Repository.instance

      appender = Logging.appenders.stdout
      assert_equal 'stdout', appender.name

      io = appender.instance_variable_get(:@io)
      assert_same STDOUT, io
      assert_equal STDOUT.fileno, io.fileno

      appender = Logging.appenders.stdout('foo')
      assert_equal 'foo', appender.name

      appender = Logging.appenders.stdout(:level => :warn)
      assert_equal 'stdout', appender.name
      assert_equal 2, appender.level

      appender = Logging.appenders.stdout('bar', :level => :error)
      assert_equal 'bar', appender.name
      assert_equal 3, appender.level
    end

    def test_reopen
      Logging::Repository.instance

      appender = Logging.appenders.stdout
      io = appender.instance_variable_get(:@io)

      appender.close
      assert appender.closed?
      refute io.closed?
      refute STDOUT.closed?

      appender.reopen
      refute appender.closed?

      new_io = appender.instance_variable_get(:@io)
      assert_same io, new_io
      refute new_io.closed?
      refute io.closed?
    end
  end

  class TestStderr < Test::Unit::TestCase
    include LoggingTestCase

    def test_initialize
      Logging::Repository.instance

      appender = Logging.appenders.stderr
      assert_equal 'stderr', appender.name

      io = appender.instance_variable_get(:@io)
      assert_same STDERR, io
      assert_equal STDERR.fileno, io.fileno

      appender = Logging.appenders.stderr('foo')
      assert_equal 'foo', appender.name

      appender = Logging.appenders.stderr(:level => :warn)
      assert_equal 'stderr', appender.name
      assert_equal 2, appender.level

      appender = Logging.appenders.stderr('bar', :level => :error)
      assert_equal 'bar', appender.name
      assert_equal 3, appender.level
    end

    def test_reopen
      Logging::Repository.instance

      appender = Logging.appenders.stderr
      io = appender.instance_variable_get(:@io)

      appender.close
      assert appender.closed?
      refute io.closed?
      refute STDERR.closed?

      appender.reopen
      refute appender.closed?

      new_io = appender.instance_variable_get(:@io)
      assert_same io, new_io
      refute new_io.closed?
      refute io.closed?
    end
  end
end
end