File: test_root_logger.rb

package info (click to toggle)
ruby-logging 2.2.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 660 kB
  • sloc: ruby: 6,139; sh: 11; makefile: 2
file content (80 lines) | stat: -rw-r--r-- 1,813 bytes parent folder | download | duplicates (3)
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

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

module TestLogging

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

    def setup
      super
      @root = ::Logging::Logger.root
    end

    def test_additive
      assert_raise(NoMethodError) {@root.additive}
    end

    def test_additive_eq
      assert_raise(NoMethodError) {@root.additive = true}
    end

    def test_level_eq
      assert_equal 0, @root.level

      assert_raise(ArgumentError) {@root.level = -1}
      assert_raise(ArgumentError) {@root.level =  6}
      assert_raise(ArgumentError) {@root.level = Object}
      assert_raise(ArgumentError) {@root.level = 'bob'}
      assert_raise(ArgumentError) {@root.level = :wtf}

      @root.level = 'INFO'
      assert_equal 1, @root.level

      @root.level = :warn
      assert_equal 2, @root.level

      @root.level = 'error'
      assert_equal 3, @root.level

      @root.level = 4
      assert_equal 4, @root.level

      @root.level = :all
      assert_equal 0, @root.level

      @root.level = 'OFF'
      assert_equal 5, @root.level

      @root.level = nil
      assert_equal 0, @root.level
    end

    def test_name
      assert_equal 'root', @root.name
    end

    def test_parent
      assert_raise(NoMethodError) {@root.parent}
    end

    def test_parent_eq
      assert_raise(NoMethodError) {@root.parent = nil}
    end

    def test_spaceship
      logs = %w(
        A  A::B  A::B::C  A::B::C::D  A::B::C::E  A::B::C::E::G  A::B::C::F
      ).map {|x| ::Logging::Logger[x]}

      logs.each do |log|
        assert_equal(-1, @root <=> log, "'root' <=> '#{log.name}'")
      end

      assert_equal 0, @root <=> @root
      assert_raise(ArgumentError) {@root <=> 'string'}
    end

  end  # class TestRootLogger
end  # module TestLogging