Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
0be1098
Added images and guttor icon logic
cx-rahul-pidde Feb 3, 2026
6849566
POC changes of underline
cx-rahul-pidde Feb 4, 2026
1bd92dc
Implemented Problem window
cx-rahul-pidde Feb 4, 2026
482da9b
Line Marker POC
cx-rahul-pidde Feb 12, 2026
8955e8f
Chnges of pophover
cx-rahul-pidde Feb 13, 2026
92b8d6d
Added mockData to show the details
cx-rahul-pidde Feb 13, 2026
7f3debf
Changes related to problem window
cx-rahul-pidde Feb 16, 2026
ca68810
Code changes related to Error List
cx-rahul-pidde Feb 18, 2026
bde3b2c
Added oclick logic in problem windows
cx-rahul-pidde Feb 18, 2026
eccf9a8
POC of pophover
cx-rahul-pidde Feb 23, 2026
a4dda98
Renamed file and folder name
cx-rahul-pidde Feb 23, 2026
2fe1ab2
improved code
cx-rahul-pidde Feb 23, 2026
9b666c9
Guttor icon andunderline changes
cx-rahul-pidde Feb 26, 2026
8367cec
Added tooltip on mousehover of guttor icon
cx-rahul-pidde Feb 26, 2026
137308f
Changes related to Problem window
cx-rahul-pidde Feb 26, 2026
6d0d584
Proble,=m window changes
cx-rahul-pidde Feb 26, 2026
09b4645
Changes related to Findings and Error List
cx-rahul-pidde Feb 27, 2026
b95b24a
Problem window changes
cx-rahul-pidde Feb 27, 2026
bd9ac17
Fixed warnings
cx-rahul-pidde Feb 27, 2026
0aaa528
Problem window code changes
cx-rahul-pidde Mar 2, 2026
668bd61
Problem windo changes
cx-rahul-pidde Mar 3, 2026
7d0bda7
code refactor
cx-rahul-pidde Mar 3, 2026
772c365
Findings changes
cx-rahul-pidde Mar 3, 2026
753751f
Popup changes
cx-rahul-pidde Mar 4, 2026
7de5118
Changes related links
cx-rahul-pidde Mar 4, 2026
161da19
constant update
cx-rahul-pidde Mar 5, 2026
a121ca3
copilot changes
cx-rahul-pidde Mar 5, 2026
7a2c1e8
Removed unwanted code and support added for dark and light theme
cx-rahul-pidde Mar 5, 2026
f0244ca
Updated problem window UI Changes
cx-rahul-pidde Mar 6, 2026
3b324e3
Disable or changed test of link
cx-rahul-pidde Mar 6, 2026
053f536
Fix of problem window
cx-rahul-pidde Mar 9, 2026
0aa3023
Updated mock data and popup size issue resolved
cx-rahul-pidde Mar 9, 2026
a0b0b59
Removed hr line in popup and added some space
cx-rahul-pidde Mar 10, 2026
378daf9
Added unit and integration tests
cx-rahul-pidde Mar 10, 2026
72ca8c7
vuln fixes
cx-rahul-pidde Mar 10, 2026
707c997
Compile issue fix
cx-rahul-pidde Mar 10, 2026
2135fb4
Upgraded version
cx-rahul-pidde Mar 10, 2026
d7a72e3
Fix integration test
cx-rahul-pidde Mar 10, 2026
fbb7366
Fix of test cases
cx-rahul-pidde Mar 10, 2026
4a4d5f6
removed non required files
cx-rahul-pidde Mar 10, 2026
10ee7d9
updated Test file
cx-rahul-pidde Mar 10, 2026
f1231ed
Fixed compile issue
cx-rahul-pidde Mar 10, 2026
35b40ec
fix of test case
cx-rahul-pidde Mar 10, 2026
a61a817
Fixed filter issue
cx-rahul-pidde Mar 11, 2026
f733d2b
Added mockdata for multi findings on sam eline
cx-rahul-pidde Mar 11, 2026
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
6 changes: 3 additions & 3 deletions UITests/UITests.csproj
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props" Condition="Exists('..\packages\MSTest.TestAdapter.2.2.10\build\net46\MSTest.TestAdapter.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
Expand Down Expand Up @@ -75,8 +75,8 @@
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.1\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.Drawing" />
<Reference Include="System.Drawing.Common, Version=4.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Drawing.Common.5.0.2\lib\net461\System.Drawing.Common.dll</HintPath>
<Reference Include="System.Drawing.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Drawing.Common.9.0.0\lib\net462\System.Drawing.Common.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Net" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="Microsoft.VisualStudio.Debugger.Interop.10.0" Version="17.0.32112.339" />
<PackageReference Include="MessagePack" Version="2.5.187" />
<PackageReference Include="Moq" Version="4.20.72" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
<PackageReference Include="System.Text.Json" Version="8.0.5" />
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageReference Include="xunit" Version="2.8.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.0">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
using Xunit;
using ast_visual_studio_extension.CxExtension.CxAssist.Core;
using ast_visual_studio_extension.CxExtension.CxAssist.Core.Models;

namespace ast_visual_studio_extension_tests.cx_unit_tests.cx_extension_tests
{
/// <summary>
/// Unit tests for AssistIconLoader (severity icon file names and base names; no VS/theme required).
/// </summary>
public class AssistIconLoaderTests
{
#region IconsBasePath

[Fact]
public void IconsBasePath_IsExpected()
{
Assert.Equal("CxExtension/Resources/CxAssist/Icons", AssistIconLoader.IconsBasePath);
}

#endregion

#region GetSeverityIconFileName

[Theory]
[InlineData(SeverityLevel.Malicious, "malicious.png")]
[InlineData(SeverityLevel.Critical, "critical.png")]
[InlineData(SeverityLevel.High, "high.png")]
[InlineData(SeverityLevel.Medium, "medium.png")]
[InlineData(SeverityLevel.Low, "low.png")]
[InlineData(SeverityLevel.Info, "low.png")]
[InlineData(SeverityLevel.Ok, "ok.png")]
[InlineData(SeverityLevel.Unknown, "unknown.png")]
[InlineData(SeverityLevel.Ignored, "ignored.png")]
public void GetSeverityIconFileName_ReturnsExpectedFileName(SeverityLevel severity, string expected)
{
Assert.Equal(expected, AssistIconLoader.GetSeverityIconFileName(severity));
}

[Fact]
public void GetSeverityIconFileName_EndsWithPng()
{
Assert.EndsWith(".png", AssistIconLoader.GetSeverityIconFileName(SeverityLevel.Critical));
}

#endregion

#region GetSeverityIconBaseName

[Theory]
[InlineData("Malicious", "malicious")]
[InlineData("malicious", "malicious")]
[InlineData("MALICIOUS", "malicious")]
[InlineData("Critical", "critical")]
[InlineData("High", "high")]
[InlineData("Medium", "medium")]
[InlineData("Low", "low")]
[InlineData("Info", "low")]
[InlineData("Ok", "ok")]
[InlineData("Unknown", "unknown")]
[InlineData("Ignored", "ignored")]
public void GetSeverityIconBaseName_ReturnsExpectedBaseName(string severity, string expected)
{
Assert.Equal(expected, AssistIconLoader.GetSeverityIconBaseName(severity));
}

[Fact]
public void GetSeverityIconBaseName_Null_ReturnsUnknown()
{
Assert.Equal("unknown", AssistIconLoader.GetSeverityIconBaseName(null));
}

[Fact]
public void GetSeverityIconBaseName_Empty_ReturnsUnknown()
{
Assert.Equal("unknown", AssistIconLoader.GetSeverityIconBaseName(""));
}

[Fact]
public void GetSeverityIconBaseName_UnknownSeverity_ReturnsUnknown()
{
Assert.Equal("unknown", AssistIconLoader.GetSeverityIconBaseName("CustomSeverity"));
}

[Fact]
public void GetSeverityIconFileName_AllSeverityLevels_ReturnNonEmptyPng()
{
foreach (SeverityLevel sev in System.Enum.GetValues(typeof(SeverityLevel)))
{
var name = AssistIconLoader.GetSeverityIconFileName(sev);
Assert.False(string.IsNullOrEmpty(name));
Assert.EndsWith(".png", name);
}
}

[Fact]
public void GetSeverityIconBaseName_WhitespaceOnly_ReturnsUnknown()
{
Assert.Equal("unknown", AssistIconLoader.GetSeverityIconBaseName(" "));
}

#endregion
}
}
Loading
Loading