From 77c5f3f2e0eaab21cce1c70dc7701a62f251bfb4 Mon Sep 17 00:00:00 2001 From: Martin Strecker Date: Tue, 4 Jun 2024 11:00:43 +0200 Subject: [PATCH 1/2] Add reproducer --- .../Rules/NotAssignedPrivateMemberTest.cs | 10 +++++++--- .../NotAssignedPrivateMember.Partial.razor | 3 +++ .../NotAssignedPrivateMember.Partial.razor.cs | 19 +++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor create mode 100644 analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs diff --git a/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs b/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs index 8fa5e7ebe2b..30150d55b3b 100644 --- a/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs +++ b/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs @@ -33,9 +33,13 @@ public void NotAssignedPrivateMember() => builder.AddPaths("NotAssignedPrivateMember.cs").Verify(); #if NET - [TestMethod] - public void NotAssignedPrivateMember_CSharp9() => - builder.AddPaths("NotAssignedPrivateMember.CSharp9.cs").WithOptions(ParseOptionsHelper.FromCSharp9).Verify(); + [TestMethod] + public void NotAssignedPrivateMember_CSharp9() => + builder.AddPaths("NotAssignedPrivateMember.CSharp9.cs").WithOptions(ParseOptionsHelper.FromCSharp9).Verify(); + + [TestMethod] + public void NotAssignedPrivateMember_Razor() => + builder.AddPaths("NotAssignedPrivateMember.Partial.razor", "NotAssignedPrivateMember.Partial.razor.cs").Verify(); #endif [TestMethod] diff --git a/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor new file mode 100644 index 00000000000..db523ad8124 --- /dev/null +++ b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor @@ -0,0 +1,3 @@ +@namespace Razor + + \ No newline at end of file diff --git a/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs new file mode 100644 index 00000000000..9f3fb00bd40 --- /dev/null +++ b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Components.Web; + +namespace Razor +{ + public partial class NotAssignedPrivateMember + { + private PageTitle pageTitle; // Noncompliant + + public void Test() + { + Console.WriteLine(pageTitle.ToString()); + } + } +} From e52b12d851bd3d53fb8191ffa560aeac7d9f26b2 Mon Sep 17 00:00:00 2001 From: Martin Strecker Date: Tue, 30 Jul 2024 12:15:56 +0200 Subject: [PATCH 2/2] Fix UT --- .../Rules/NotAssignedPrivateMemberTest.cs | 12 ++++++------ ....Partial.razor => NotAssignedPrivateMember.razor} | 0 ...al.razor.cs => NotAssignedPrivateMember.razor.cs} | 3 ++- 3 files changed, 8 insertions(+), 7 deletions(-) rename analyzers/tests/SonarAnalyzer.Test/TestCases/{NotAssignedPrivateMember.Partial.razor => NotAssignedPrivateMember.razor} (100%) rename analyzers/tests/SonarAnalyzer.Test/TestCases/{NotAssignedPrivateMember.Partial.razor.cs => NotAssignedPrivateMember.razor.cs} (69%) diff --git a/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs b/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs index 30150d55b3b..f36eb17f10e 100644 --- a/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs +++ b/analyzers/tests/SonarAnalyzer.Test/Rules/NotAssignedPrivateMemberTest.cs @@ -33,13 +33,13 @@ public void NotAssignedPrivateMember() => builder.AddPaths("NotAssignedPrivateMember.cs").Verify(); #if NET - [TestMethod] - public void NotAssignedPrivateMember_CSharp9() => - builder.AddPaths("NotAssignedPrivateMember.CSharp9.cs").WithOptions(ParseOptionsHelper.FromCSharp9).Verify(); + [TestMethod] + public void NotAssignedPrivateMember_CSharp9() => + builder.AddPaths("NotAssignedPrivateMember.CSharp9.cs").WithOptions(ParseOptionsHelper.FromCSharp9).Verify(); - [TestMethod] - public void NotAssignedPrivateMember_Razor() => - builder.AddPaths("NotAssignedPrivateMember.Partial.razor", "NotAssignedPrivateMember.Partial.razor.cs").Verify(); + [TestMethod] + public void NotAssignedPrivateMember_Razor() => + builder.AddPaths("NotAssignedPrivateMember.razor", "NotAssignedPrivateMember.razor.cs").VerifyNoIssues(); #endif [TestMethod] diff --git a/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.razor similarity index 100% rename from analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor rename to analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.razor diff --git a/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.razor.cs similarity index 69% rename from analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs rename to analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.razor.cs index 9f3fb00bd40..37c29d9e7b4 100644 --- a/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.Partial.razor.cs +++ b/analyzers/tests/SonarAnalyzer.Test/TestCases/NotAssignedPrivateMember.razor.cs @@ -4,12 +4,13 @@ using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Components.Web; +using Microsoft.AspNetCore.Components; namespace Razor { public partial class NotAssignedPrivateMember { - private PageTitle pageTitle; // Noncompliant + private ElementReference pageTitle; // Compliant - Assigned in the generated code for the razor file. public void Test() {