Welcome to mirror list, hosted at ThFree Co, Russian Federation.

LogFixture.cs « LibGit2Sharp.Tests - github.com/mono/libgit2sharp.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: b74fe97b00b6610d5a2fc55b1e2dd7f6ddc6e499 (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
using Xunit;

namespace LibGit2Sharp.Tests
{
    public class LogFixture
    {
        [Fact]
        public void CanEnableAndDisableLogging()
        {
            // Setting logging produces a log message at level Info,
            // ensure that we catch it.
            LogLevel level = LogLevel.None;
            string message = null;

            GlobalSettings.LogConfiguration = new LogConfiguration(LogLevel.Trace, (l, m) => { level = l; message = m; });

            Assert.Equal(LogLevel.Info, level);
            Assert.Equal("Logging enabled at level Trace", message);

            // Configuring at Warning and higher means that the
            // message at level Info should not be produced.
            level = LogLevel.None;
            message = null;

            GlobalSettings.LogConfiguration = new LogConfiguration(LogLevel.Warning, (l, m) => { level = l; message = m; });

            Assert.Equal(LogLevel.None, level);
            Assert.Equal(null, message);

            // Similarly, turning logging off should produce no messages.
            GlobalSettings.LogConfiguration = LogConfiguration.None;

            Assert.Equal(LogLevel.None, level);
            Assert.Equal(null, message);
        }
    }
}