feat: md渲染优化

This commit is contained in:
2026-07-15 14:40:00 +08:00
parent a03e1b4819
commit 4dd4944107
3 changed files with 108 additions and 33 deletions

View File

@@ -112,7 +112,7 @@ class ReportBuilderTest {
}
@Test
void typeChangedHighlightedOrangeInBothSkeletons() {
void typeChangedHighlightedGrayInBothSkeletons() {
SchemaChange typeChanged = new SchemaChange(ChangeType.TYPE_CHANGED);
typeChanged.setFieldPath("amount");
typeChanged.setOldValue("BigDecimal/NUMBER");
@@ -125,20 +125,22 @@ class ReportBuilderTest {
Set<String> oldPaths = SkeletonAnnotator.pathsForOldSkeleton(details);
Set<String> newGreen = SkeletonAnnotator.pathsForNewSkeleton(details);
Set<String> newOrange = SkeletonAnnotator.pathsForTypeChanged(details);
Set<String> typeGray = SkeletonAnnotator.pathsForTypeChanged(details);
assertEquals(Collections.singleton("amount"), oldPaths);
assertTrue(oldPaths.isEmpty());
assertTrue(newGreen.isEmpty());
assertEquals(Collections.singleton("amount"), newOrange);
assertEquals(Collections.singleton("amount"), typeGray);
String oldMd = SkeletonAnnotator.annotateOldForWecom(oldJson, oldPaths);
String newMd = SkeletonAnnotator.annotateNewForWecom(newJson, newGreen, newOrange);
String oldMd = SkeletonAnnotator.annotateOldForWecom(oldJson, oldPaths, typeGray);
String newMd = SkeletonAnnotator.annotateNewForWecom(newJson, newGreen, typeGray);
assertTrue(oldMd.contains("<font color=\"warning\">\"amount\":0</font>"));
assertFalse(oldMd.contains("<font color=\"warning\">\"name\":\"\"</font>"));
assertTrue(newMd.contains("<font color=\"warning\">\"amount\":\"\"</font>"));
assertTrue(oldMd.contains("<font color=\"comment\">\"amount\":0</font>"));
assertFalse(oldMd.contains("<font color=\"warning\">\"amount\""));
assertFalse(oldMd.contains("<font color=\"comment\">\"name\":\"\"</font>"));
assertTrue(newMd.contains("<font color=\"comment\">\"amount\":\"\"</font>"));
assertFalse(newMd.contains("<font color=\"info\">\"amount\""));
assertFalse(newMd.contains("<font color=\"warning\">\"name\":\"\"</font>"));
assertFalse(newMd.contains("<font color=\"warning\">\"amount\""));
assertFalse(newMd.contains("<font color=\"comment\">\"name\":\"\"</font>"));
CheckReport report = baseReport();
KeyStructureChange key = new KeyStructureChange();
@@ -157,9 +159,12 @@ class ReportBuilderTest {
assertTrue(newSection > oldSection);
String oldPart = md.substring(oldSection, newSection);
String newPart = md.substring(newSection);
assertTrue(oldPart.contains("<font color=\"warning\">\"amount\":0</font>"));
assertTrue(newPart.contains("<font color=\"warning\">\"amount\":\"\"</font>"));
assertTrue(oldPart.contains("<font color=\"comment\">\"amount\":0</font>"));
assertTrue(newPart.contains("<font color=\"comment\">\"amount\":\"\"</font>"));
assertFalse(newPart.contains("<font color=\"info\">\"amount\""));
assertFalse(oldPart.contains("<font color=\"warning\">\"amount\""));
assertTrue(md.contains("> **类型变更**: amount <font color=\"warning\">BigDecimal → String</font>"),
"应包含类型变更摘要行,实际 markdown:\n" + md);
}
@Test