aboutsummaryrefslogtreecommitdiff
path: root/ruby/log_TEST.rb
blob: 465a18b699e50df201069668d17f7f4a1415a7af (plain)
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
#!/usr/bin/env ruby
# vim: set sw=4 sts=4 et tw=80 :

#
# Copyright (c) 2006 Ciaran McCreesh <ciaran.mccreesh@blueyonder.co.uk>
#
# This file is part of the Paludis package manager. Paludis is free software;
# you can redistribute it and/or modify it under the terms of the GNU General
# Public License version 2, as published by the Free Software Foundation.
#
# Paludis is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA  02111-1307  USA
#

ENV["PALUDIS_HOME"] = Dir.getwd().to_s + "/default_environment_TEST_dir/home";

require 'test/unit'
require 'Paludis'

module Paludis
    class TestCase_Log < Test::Unit::TestCase
        def test_instance
            assert_equal Log.instance.__id__, Log.instance.__id__
        end

        def test_no_create
            assert_raise NoMethodError do
                x = Log.new()
            end
        end

        def test_set_program_name
            assert_nothing_raised do
                Log.instance.program_name = 'TestProg'
            end
        end

        def test_no_set_program_name
            assert_raise TypeError do
                Log.instance.program_name = 7
            end
        end
    end

    class TestCase_LogLogLevel < Test::Unit::TestCase
        def test_log_level
            assert_equal Log.instance.log_level, Log.instance.log_level
            assert Log.instance.log_level >= LogLevel::Debug
            assert Log.instance.log_level <= LogLevel::Silent
        end

        def test_log_level_set
            Log.instance.log_level = LogLevel::Debug
            assert_equal LogLevel::Debug, Log.instance.log_level

            Log.instance.log_level = LogLevel::Warning
            assert_equal LogLevel::Warning, Log.instance.log_level
        end

        def test_error
            assert_raise TypeError do
                Log.instance.log_level = 456
            end
        end
    end

    class TestCase_LogMessage < Test::Unit::TestCase
        def test_log_message
            Log.instance.message LogLevel::Warning, "This is a test warning message"
        end

        def test_log_message_bad
            assert_raise ArgumentError do
                Log.instance.message "This should fail"
            end

            assert_raise TypeError do
                Log.instance.message "Warning", "This should fail"
            end

            assert_raise TypeError do
                Log.instance.message 456, "This should fail"
            end
        end
    end
end