From a3ffeb39f1e4f3bf6e21a77ae2623ece8c27cbe9 Mon Sep 17 00:00:00 2001 From: Jean Aurambault Date: Tue, 3 Sep 2024 15:22:46 -0700 Subject: [PATCH] Support "dash" in HtmlTagIntegrityChecker --- .../integritychecker/HtmlTagIntegrityChecker.java | 2 +- .../integritychecker/RegexIntegrityChecker.java | 4 ++-- .../integritychecker/HtmlTagIntegrityCheckerTest.java | 10 ++++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityChecker.java b/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityChecker.java index f5d8a533c8..896f50bba4 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityChecker.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityChecker.java @@ -21,7 +21,7 @@ public class HtmlTagIntegrityChecker extends RegexIntegrityChecker { @Override public String getRegex() { - return "(<\\w+(\\s+\\w+(\\s*=\\s*('([^']*?)'|\"([^\"]*?)\"))?)*\\s*/?>|)"; + return "(<[a-zA-Z][\\w-]*(\\s+\\w+(\\s*=\\s*('([^']*?)'|\"([^\"]*?)\"))?)*\\s*/?>|<\\/[a-zA-Z][\\w-]*>)"; } @Override diff --git a/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/RegexIntegrityChecker.java b/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/RegexIntegrityChecker.java index e0ccc3552f..6a8d900882 100644 --- a/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/RegexIntegrityChecker.java +++ b/webapp/src/main/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/RegexIntegrityChecker.java @@ -1,6 +1,6 @@ package com.box.l10n.mojito.service.assetintegritychecker.integritychecker; -import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -68,7 +68,7 @@ Pattern getPattern() { */ Set getPlaceholders(String string) { - Set placeholders = new HashSet<>(); + Set placeholders = new LinkedHashSet<>(); if (string != null) { diff --git a/webapp/src/test/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityCheckerTest.java b/webapp/src/test/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityCheckerTest.java index df48ae696e..29b288e1d1 100644 --- a/webapp/src/test/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityCheckerTest.java +++ b/webapp/src/test/java/com/box/l10n/mojito/service/assetintegritychecker/integritychecker/HtmlTagIntegrityCheckerTest.java @@ -1,5 +1,7 @@ package com.box.l10n.mojito.service.assetintegritychecker.integritychecker; +import java.util.Set; +import org.assertj.core.api.Assertions; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -191,4 +193,12 @@ public void testHtmlTagCheckNonTagLessThanDoesntConfuseThings() { checker.check(source, target); } + + @Test + public void testHtmlTagCheckWithDash() { + String source = "Mag-sign up o upang "; + Set placeholders = checker.getPlaceholders(source); + Assertions.assertThat(placeholders) + .containsExactly("", "", "", ""); + } }