Skip to content

Commit

Permalink
Include RenderClasses in serialized JSON code file (#8877)
Browse files Browse the repository at this point in the history
  • Loading branch information
praveenkuttappan authored Aug 23, 2024
1 parent a371747 commit c6475aa
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/dotnet/APIView/APIView/Model/V2/ReviewToken.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ public ReviewToken(string value, TokenKind kind)
/// <summary>
/// Language specific style css class names
/// </summary>
public List<string> RenderClasses = [];
public List<string> RenderClasses { get; set; } = [];

public static ReviewToken CreateTextToken(string value, string navigateToId = null, bool hasSuffixSpace = true)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
using Newtonsoft.Json.Schema;
using Newtonsoft.Json.Linq;
using System.Text.Json.Serialization;
using APIView.Model.V2;


namespace CSharpAPIParserTests
Expand Down Expand Up @@ -126,5 +127,25 @@ private bool validateSchema(CodeFile codeFile)
}
return isValid;
}

[Fact]
public void TestNavigatonNodeHasRenderingClass()
{
var jsonString = JsonSerializer.Serialize(codeFile);
var parsedCodeFile = JsonSerializer.Deserialize<CodeFile>(jsonString);
Assert.Equal(8, CountNavigationNodes(parsedCodeFile.ReviewLines));
}

private int CountNavigationNodes(List<ReviewLine> lines)
{
int count = 0;
foreach (var line in lines)
{
var navTokens = line.Tokens.Where(x=> x.NavigationDisplayName != null);
count += navTokens.Count(x => x.RenderClasses.Any());
count += CountNavigationNodes(line.Children);
}
return count;
}
}
}

0 comments on commit c6475aa

Please sign in to comment.