Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions visual-studio/Manifests/vs2019/source.extension.vsixmanifest

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="ProtoAttributor.2022.fc16f3d2-4cc4-42ca-a6ca-2e7fb9cb3e5f" Version="1.2" Language="en-US" Publisher="Dan Turco" />
<Identity Id="ProtoAttributor.2022.fc16f3d2-4cc4-42ca-a6ca-2e7fb9cb3e5f" Version="1.3" Language="en-US" Publisher="Dan Turco" />
<DisplayName>ProtoAttributor 2022</DisplayName>
<Description xml:space="preserve">ProtoAttributor is an open source Visual Studio extension that can manage the appropriate attributes on a class to support ProtoBuf. It currently supports ProtoContract, ProtoMember, ProtoIgnore, DataContract, DataMember, IgnoreDataMemeber attributes.</Description>
<MoreInfo>https://github.com/d1820/proto-attributor</MoreInfo>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System.IO;
using FluentAssertions;
using Shouldly;
using Microsoft.CodeAnalysis.CSharp;
using ProtoAttributor.Parsers.DataContracts;
using Xunit;
Expand All @@ -21,7 +21,7 @@ public void GetsNextIdForDataMember()

var output = protoReader.GetDataMemberNextId(tree.GetRoot());

output.Should().Be(3);
output.ShouldBe(3);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System;
using FluentAssertions;
using Shouldly;
using Microsoft.CodeAnalysis.CSharp;
using ProtoAttributor.Parsers.DataContracts;
using Xunit;
Expand Down Expand Up @@ -27,11 +27,11 @@ public void AddsAttributesForProtoBuf()

var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[Required]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[Required]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");

_fixture.AssertOutputContainsCount(source, "DataMember", 2);
_fixture.AssertOutputContainsCount(source, "Required", 1);
Expand All @@ -48,12 +48,12 @@ public void AddsAttributesForProtBufWherePropDontHaveIgnoreDataMember()

var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[Required]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain("[DataMember(Order = 3)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[Required]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain("[DataMember(Order = 3)]");

_fixture.AssertOutputContainsCount(source, "[DataMember", 3);
_fixture.AssertOutputContainsCount(source, "[Required]", 1);
Expand All @@ -70,17 +70,17 @@ public void AddsAttributesAndKeepCommentsInTack()

var output = rewrittenRoot.GetText().ToString();

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");

output.Should().Contain(" /// </value>");
output.Should().Contain(" [DataMember(Order = 1)]");
output.Should().Contain(" public int MyProperty { get; set; }");
output.ShouldContain(" /// </value>");
output.ShouldContain(" [DataMember(Order = 1)]");
output.ShouldContain(" public int MyProperty { get; set; }");

//This verifies spacing is correct
output.Should().Contain(@"
output.ShouldContain(@"
/// <summary> Comments not wrapped </summary>
/// <value> My property. </value>
[DataMember(Order = 1)]
Expand All @@ -97,10 +97,10 @@ public void AddsUsingWhenNoneExist()

var output = rewrittenRoot.GetText().ToString();

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
}

[Fact]
Expand All @@ -113,12 +113,12 @@ public void AddsAttributesWithCorrectOrderWhenAttributesAlreadyExists()

var output = rewrittenRoot.GetText().ToString();

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain("[DataMember(Order = 3)]");
output.Should().Contain("[DataMember(Name = \"Test\")]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain("[DataMember(Order = 3)]");
output.ShouldContain("[DataMember(Name = \"Test\")]");
}

[Fact]
Expand All @@ -130,10 +130,10 @@ public void AddsAttributesWithCorrectOrderWhenFileHasWierdFormatting()

var output = rewrittenRoot.GetText().ToString();

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
}

[Fact]
Expand All @@ -146,12 +146,12 @@ public void AddsAttributesWithCorrectOrderWhenFileHasProtoIgnores()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain("[DataMember(Order = 14)]");
output.Should().Contain("[DataMember(Order = 16)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain("[DataMember(Order = 14)]");
output.ShouldContain("[DataMember(Order = 16)]");
_fixture.AssertOutputContainsCount(source, "[IgnoreDataMember]", 2);
}

Expand All @@ -165,9 +165,9 @@ public void AddsAttributesWhenFileIsEnum()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[EnumMember]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[EnumMember]");
_fixture.AssertOutputContainsCount(source, "[EnumMember]", 5);

}
Expand All @@ -182,9 +182,9 @@ public void AddsAttributesWhenFileIsEnumWithExistingAttributes()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[EnumMember]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[EnumMember]");
_fixture.AssertOutputContainsCount(source, "[EnumMember]", 5);
}

Expand All @@ -198,9 +198,9 @@ public void AddsAttributesWhenFileIsEnumWithIgnoreAttributes()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[EnumMember]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[EnumMember]");
_fixture.AssertOutputContainsCount(source, "[EnumMember]", 3);
_fixture.AssertOutputContainsCount(source, "[IgnoreDataMember]", 2);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using FluentAssertions;
using Shouldly;
using Microsoft.CodeAnalysis.CSharp;
using ProtoAttributor.Parsers.DataContracts;
using Xunit;
Expand All @@ -24,18 +24,18 @@ public void AddsAttributesWithCorrectOrderWhenAttributesAlreadyExists()

var output = rewrittenRoot.GetText().ToString();

output.Should().NotContain("System.Runtime.Serialization");
output.Should().NotContain("[DataContract]");
output.Should().NotContain("[KnownType");
output.Should().NotContain("[IgnoreDataMember]");
output.Should().NotContain("[EnumMember]");
output.Should().NotContain(@"[DataMember(Order = 1, Name=""Test"")]");
output.Should().NotContain("[DataMember(Order = 2)]");
output.Should().NotContain(@"DataMember(Name = ""test12"")");
output.ShouldNotContain("System.Runtime.Serialization");
output.ShouldNotContain("[DataContract]");
output.ShouldNotContain("[KnownType");
output.ShouldNotContain("[IgnoreDataMember]");
output.ShouldNotContain("[EnumMember]");
output.ShouldNotContain(@"[DataMember(Order = 1, Name=""Test"")]");
output.ShouldNotContain("[DataMember(Order = 2)]");
output.ShouldNotContain(@"DataMember(Name = ""test12"")");

output.Should().Contain("[Required]");
output.ShouldContain("[Required]");

output.Should().Contain("[Serializable]");
output.ShouldContain("[Serializable]");
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
using System;
using FluentAssertions;
using Shouldly;
using Microsoft.CodeAnalysis.CSharp;
using ProtoAttributor.Parsers.DataContracts;
using Xunit;
Expand Down Expand Up @@ -46,12 +46,12 @@ public void RewritesAttributesWithCorrectOrderWhenAttributesAlreadyExists()

var output = rewrittenRoot.GetText().ToString();

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain(@"[DataMember(Order = 1, Name=""Test"")]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain("[DataMember(Order = 3)]");
output.Should().Contain("[DataMember(Order = 4)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain(@"[DataMember(Order = 1, Name=""Test"")]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain("[DataMember(Order = 3)]");
output.ShouldContain("[DataMember(Order = 4)]");
}

[Fact]
Expand All @@ -64,12 +64,12 @@ public void RewritesAttributesWithCorrectOrderWhenFileHasProtoIgnores()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain("[DataMember(Order = 3)]");
output.Should().Contain("[DataMember(Order = 4)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain("[DataMember(Order = 3)]");
output.ShouldContain("[DataMember(Order = 4)]");
_fixture.AssertOutputContainsCount(source, "[IgnoreDataMember]", 2);
}

Expand All @@ -83,12 +83,12 @@ public void RewritesAttributesWithCorrectOrderWhenAttributeExistsWithoutOrderPro
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.Should().Contain("[DataMember(Order = 1)]");
output.Should().Contain("[DataMember(Order = 2)]");
output.Should().Contain(@"[DataMember(Name =""test"",Order = 3)]");
output.Should().Contain("[DataMember(Order = 4)]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
output.ShouldContain("[DataMember(Order = 1)]");
output.ShouldContain("[DataMember(Order = 2)]");
output.ShouldContain(@"[DataMember(Name =""test"",Order = 3)]");
output.ShouldContain("[DataMember(Order = 4)]");
_fixture.AssertOutputContainsCount(source, "[IgnoreDataMember]", 1);
}

Expand All @@ -102,8 +102,8 @@ public void RewritesEnumAttributesWhenFileHasDataMemeberIgnores()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
_fixture.AssertOutputContainsCount(source, "[IgnoreDataMember]", 2);
_fixture.AssertOutputContainsCount(source, "[EnumMember]", 3);
}
Expand All @@ -118,8 +118,8 @@ public void RewritesAttributesWithOrderPropertyWhenMissing()
var output = rewrittenRoot.GetText().ToString();
var source = output.Split(new string[] { " ", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);

output.Should().Contain("System.Runtime.Serialization");
output.Should().Contain("[DataContract]");
output.ShouldContain("System.Runtime.Serialization");
output.ShouldContain("[DataContract]");
_fixture.AssertOutputContainsCount(source, "Order", 5); //includes 1 for the name of class
}
}
Expand Down
14 changes: 7 additions & 7 deletions visual-studio/ProtoAttributor.Tests/ProtoAttributor.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="FluentAssertions" Version="6.12.0" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="protobuf-net" Version="3.2.30" />
<PackageReference Include="xunit" Version="2.7.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.7">
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
<PackageReference Include="protobuf-net" Version="3.2.56" />
<PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.1">
<PackageReference Include="coverlet.collector" Version="6.0.4">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
Loading
Loading