package com.ruoyi.system.utils; public class ProtocolHtmlSanitizerTest { public static void main(String[] args) { shouldKeepSupportedFormatting(); shouldRemoveDangerousContentAndAttributes(); } private static void shouldKeepSupportedFormatting() { String html = "
入园承诺
\n" + "
第二行
"; String result = ProtocolHtmlSanitizer.clean(html); require(result.contains("
入园承诺
"), "居中样式未保留"); require(result.contains("第二行"), "文字样式未保留"); require(!result.contains("position"), "非白名单样式未清除"); } private static void shouldRemoveDangerousContentAndAttributes() { String html = "
正文" + "内容
"; String result = ProtocolHtmlSanitizer.clean(html); require(result.contains("
正文内容
"), "安全正文结构未保留"); require(!result.contains("script"), "危险标签未清除"); require(!result.contains("onclick"), "事件属性未清除"); require(!result.contains("javascript"), "危险样式内容未清除"); } private static void require(boolean condition, String message) { if (!condition) { throw new AssertionError(message); } } }