Skip to content

Commit 5251ce5

Browse files
authored
fix: add acknowledgement for shutdown (#5)
1 parent 9c27bde commit 5251ce5

27 files changed

+1227
-1255
lines changed

DprintPluginRoslyn.Tests/Configuration/ConfigurationHelperTests.cs

+27-27
Original file line numberDiff line numberDiff line change
@@ -9,42 +9,42 @@ namespace Dprint.Plugins.Roslyn.Configuration;
99
[TestFixture]
1010
public class ConfigurationHelperTests
1111
{
12-
[Test]
13-
public void HandlePluginConfig_VariousCorrectInput_Handles()
14-
{
15-
var pluginConfig = new Dictionary<string, object>()
12+
[Test]
13+
public void HandlePluginConfig_VariousCorrectInput_Handles()
14+
{
15+
var pluginConfig = new Dictionary<string, object>()
1616
{
1717
{ "csharp.indentBlock", true },
1818
{ "csharp.labelPositioning", "noIndent" },
1919
};
20-
var context = new ConfigurationResolutionContext(pluginConfig, new AdhocWorkspace().Options);
21-
ConfigurationHelpers.HandlePluginConfig(context, typeof(CSharpFormattingOptions), "csharp.");
22-
var options = context.GetOptions();
20+
var context = new ConfigurationResolutionContext(pluginConfig, new AdhocWorkspace().Options);
21+
ConfigurationHelpers.HandlePluginConfig(context, typeof(CSharpFormattingOptions), "csharp.");
22+
var options = context.GetOptions();
2323

24-
Assert.That(options.GetOption(CSharpFormattingOptions.IndentBlock), Is.True);
25-
Assert.That(options.GetOption(CSharpFormattingOptions.LabelPositioning), Is.EqualTo(LabelPositionOptions.NoIndent));
26-
Assert.That(pluginConfig.Count, Is.EqualTo(0)); // should have cleared the plugin config
27-
}
24+
Assert.That(options.GetOption(CSharpFormattingOptions.IndentBlock), Is.True);
25+
Assert.That(options.GetOption(CSharpFormattingOptions.LabelPositioning), Is.EqualTo(LabelPositionOptions.NoIndent));
26+
Assert.That(pluginConfig.Count, Is.EqualTo(0)); // should have cleared the plugin config
27+
}
2828

29-
[Test]
30-
public void HandlePluginConfig_IncorrectInput_Diagnostics()
31-
{
32-
var pluginConfig = new Dictionary<string, object>()
29+
[Test]
30+
public void HandlePluginConfig_IncorrectInput_Diagnostics()
31+
{
32+
var pluginConfig = new Dictionary<string, object>()
3333
{
3434
{ "csharp.indentBlock", "asdf" },
3535
{ "csharp.labelPositioning", "testing" },
3636
{ "csharp.unknown", true }
3737
};
38-
var context = new ConfigurationResolutionContext(pluginConfig, new AdhocWorkspace().Options);
39-
ConfigurationHelpers.HandlePluginConfig(context, typeof(CSharpFormattingOptions), "csharp.");
40-
var diagnostics = context.GetDiagnostics().ToList();
41-
Assert.That(diagnostics.Count, Is.EqualTo(3));
42-
Assert.That(diagnostics[0].PropertyName, Is.EqualTo("csharp.indentBlock"));
43-
Assert.That(diagnostics[0].Message, Is.EqualTo("Property value was expected to be Boolean, but was String."));
44-
Assert.That(diagnostics[1].PropertyName, Is.EqualTo("csharp.labelPositioning"));
45-
Assert.That(diagnostics[1].Message, Is.EqualTo("Could not parse string 'testing' to enum: Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions"));
46-
Assert.That(diagnostics[2].PropertyName, Is.EqualTo("csharp.unknown"));
47-
Assert.That(diagnostics[2].Message, Is.EqualTo("Could not find property on CSharpFormattingOptions with name 'Unknown'"));
48-
Assert.That(pluginConfig.Count, Is.EqualTo(0)); // should have cleared the plugin config
49-
}
38+
var context = new ConfigurationResolutionContext(pluginConfig, new AdhocWorkspace().Options);
39+
ConfigurationHelpers.HandlePluginConfig(context, typeof(CSharpFormattingOptions), "csharp.");
40+
var diagnostics = context.GetDiagnostics().ToList();
41+
Assert.That(diagnostics.Count, Is.EqualTo(3));
42+
Assert.That(diagnostics[0].PropertyName, Is.EqualTo("csharp.indentBlock"));
43+
Assert.That(diagnostics[0].Message, Is.EqualTo("Property value was expected to be Boolean, but was String."));
44+
Assert.That(diagnostics[1].PropertyName, Is.EqualTo("csharp.labelPositioning"));
45+
Assert.That(diagnostics[1].Message, Is.EqualTo("Could not parse string 'testing' to enum: Microsoft.CodeAnalysis.CSharp.Formatting.LabelPositionOptions"));
46+
Assert.That(diagnostics[2].PropertyName, Is.EqualTo("csharp.unknown"));
47+
Assert.That(diagnostics[2].Message, Is.EqualTo("Could not find property on CSharpFormattingOptions with name 'Unknown'"));
48+
Assert.That(pluginConfig.Count, Is.EqualTo(0)); // should have cleared the plugin config
49+
}
5050
}

DprintPluginRoslyn.Tests/WorkspaceTests.cs

+30-30
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,41 @@ namespace Dprint.Plugins.Roslyn;
88
[TestFixture]
99
public class WorkspaceTests
1010
{
11-
[Test]
12-
public void GetDiagnostics_UnhandledPropertyNames_Diagnostics()
13-
{
14-
var workspace = new Workspace();
15-
var pluginConfig = new Dictionary<string, object>()
11+
[Test]
12+
public void GetDiagnostics_UnhandledPropertyNames_Diagnostics()
13+
{
14+
var workspace = new Workspace();
15+
var pluginConfig = new Dictionary<string, object>()
1616
{
1717
{ "csharp.indentBlock", true },
1818
{ "csharp.labelPositioning", "noIndent" },
1919
{ "unknownProp", false }
2020
};
21-
workspace.SetConfig(1, new(), pluginConfig);
22-
var diagnostics = workspace.GetDiagnostics(1);
23-
Assert.That(diagnostics.Count, Is.EqualTo(1));
24-
Assert.That(diagnostics[0].PropertyName, Is.EqualTo("unknownProp"));
25-
Assert.That(diagnostics[0].Message, Is.EqualTo("Unknown configuration property name."));
26-
}
21+
workspace.SetConfig(1, new(), pluginConfig);
22+
var diagnostics = workspace.GetDiagnostics(1);
23+
Assert.That(diagnostics.Count, Is.EqualTo(1));
24+
Assert.That(diagnostics[0].PropertyName, Is.EqualTo("unknownProp"));
25+
Assert.That(diagnostics[0].Message, Is.EqualTo("Unknown configuration property name."));
26+
}
2727

28-
[Test]
29-
public void GetResolvedConfig_Default_Gets()
30-
{
31-
var workspace = new Workspace();
32-
workspace.SetConfig(1, new(), new());
33-
var resolvedConfig = workspace.GetFormatters(1).GetResolvedConfig();
34-
Assert.That(resolvedConfig["csharp.indentBlock"], Is.EqualTo(true));
35-
Assert.That(resolvedConfig["visualBasic.indentationSize"], Is.EqualTo(4));
36-
}
28+
[Test]
29+
public void GetResolvedConfig_Default_Gets()
30+
{
31+
var workspace = new Workspace();
32+
workspace.SetConfig(1, new(), new());
33+
var resolvedConfig = workspace.GetFormatters(1).GetResolvedConfig();
34+
Assert.That(resolvedConfig["csharp.indentBlock"], Is.EqualTo(true));
35+
Assert.That(resolvedConfig["visualBasic.indentationSize"], Is.EqualTo(4));
36+
}
3737

38-
[Test]
39-
public void Issue3_SetIndentWidth()
40-
{
41-
var workspace = new Workspace();
42-
var textBytes = Encoding.UTF8.GetBytes("{\"indentWidth\": 2 }");
43-
var pluginConfig = new Serialization.JsonSerializer().Deserialize<Dictionary<string, object>>(textBytes);
44-
workspace.SetConfig(2, new(), pluginConfig);
45-
var diagnostics = workspace.GetDiagnostics(2);
46-
Assert.That(diagnostics.Count, Is.EqualTo(0));
47-
}
38+
[Test]
39+
public void Issue3_SetIndentWidth()
40+
{
41+
var workspace = new Workspace();
42+
var textBytes = Encoding.UTF8.GetBytes("{\"indentWidth\": 2 }");
43+
var pluginConfig = new Serialization.JsonSerializer().Deserialize<Dictionary<string, object>>(textBytes);
44+
workspace.SetConfig(2, new(), pluginConfig);
45+
var diagnostics = workspace.GetDiagnostics(2);
46+
Assert.That(diagnostics.Count, Is.EqualTo(0));
47+
}
4848
}

DprintPluginRoslyn/ArgParser.cs

+13-13
Original file line numberDiff line numberDiff line change
@@ -4,24 +4,24 @@ namespace Dprint.Plugins.Roslyn;
44

55
public struct CliArguments
66
{
7-
public int ParentProcessId { get; set; }
7+
public int ParentProcessId { get; set; }
88
}
99

1010
public class ArgParser
1111
{
12-
public CliArguments ParseArgs(string[] args)
13-
{
14-
// very simple and not smart for now
15-
for (var i = 0; i < args.Length; i++)
12+
public CliArguments ParseArgs(string[] args)
1613
{
17-
if (args[i] == "--parent-pid" && i + 1 < args.Length)
18-
{
19-
return new CliArguments
14+
// very simple and not smart for now
15+
for (var i = 0; i < args.Length; i++)
2016
{
21-
ParentProcessId = int.Parse(args[i + 1]),
22-
};
23-
}
17+
if (args[i] == "--parent-pid" && i + 1 < args.Length)
18+
{
19+
return new CliArguments
20+
{
21+
ParentProcessId = int.Parse(args[i + 1]),
22+
};
23+
}
24+
}
25+
throw new Exception("Failed parsing arguments. Expected --parent-pid");
2426
}
25-
throw new Exception("Failed parsing arguments. Expected --parent-pid");
26-
}
2727
}

DprintPluginRoslyn/Communication/BigEndianBitConverter.cs

+13-13
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@ namespace Dprint.Plugins.Roslyn.Communication;
55
// the cli uses uints and big endian
66
public static class BigEndianBitConverter
77
{
8-
public static uint GetUInt(byte[] bytes)
9-
{
10-
if (BitConverter.IsLittleEndian)
11-
Array.Reverse(bytes);
8+
public static uint GetUInt(byte[] bytes)
9+
{
10+
if (BitConverter.IsLittleEndian)
11+
Array.Reverse(bytes);
1212

13-
return BitConverter.ToUInt32(bytes);
14-
}
13+
return BitConverter.ToUInt32(bytes);
14+
}
1515

16-
public static byte[] GetBytes(uint value)
17-
{
18-
var bytes = BitConverter.GetBytes(value);
19-
if (BitConverter.IsLittleEndian)
20-
Array.Reverse(bytes);
21-
return bytes;
22-
}
16+
public static byte[] GetBytes(uint value)
17+
{
18+
var bytes = BitConverter.GetBytes(value);
19+
if (BitConverter.IsLittleEndian)
20+
Array.Reverse(bytes);
21+
return bytes;
22+
}
2323
}

0 commit comments

Comments
 (0)