blob: c67042e22b576e2febdb1bd6758b83dcb324507b (
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
|
using Godosa.Core.Diagnostics;
using Xunit;
namespace Godosa.Core.Tests.Diagnostics;
public class DebugFlagsTests
{
[Fact]
public void Categories_AreCommaSeparated_Trimmed_CaseInsensitive()
{
var flags = new DebugFlags(" input , AUDIO");
Assert.True(flags.On("input"));
Assert.True(flags.On("audio"));
Assert.False(flags.On("frames"));
}
[Fact]
public void All_TurnsOnEveryCategory_ButNotExactSwitches()
{
var flags = new DebugFlags("all");
Assert.True(flags.On("script"));
Assert.False(flags.Exact("nohud"));
}
[Fact]
public void Exact_MatchesOnlyTheNamedSwitch()
{
var flags = new DebugFlags("frames,NoHud");
Assert.True(flags.Exact("nohud"));
Assert.False(flags.Exact("input"));
}
[Fact]
public void MissingOrEmpty_TurnsNothingOn()
{
Assert.False(new DebugFlags(null).On("input"));
Assert.False(new DebugFlags(" , ,").On("input"));
}
[Fact]
public void EngineDebug_Apply_SetsEachLibCategory()
{
try
{
EngineDebug.Apply(new DebugFlags("script"));
Assert.True(EngineDebug.Script);
Assert.False(EngineDebug.Input);
Assert.False(EngineDebug.Audio);
EngineDebug.Apply(new DebugFlags("input,audio"));
Assert.True(EngineDebug.Input);
Assert.True(EngineDebug.Audio);
Assert.False(EngineDebug.Script);
}
finally
{
EngineDebug.Apply(new DebugFlags(null));
}
}
}
|