This is an automated email from the ASF dual-hosted git repository. dsoumis pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 38fc5349923d1de180c36f38588682e938b107f8 Author: Dimitris Soumis <[email protected]> AuthorDate: Thu Sep 4 16:56:56 2025 +0300 Add helper in TomcatBaseTest to avoid hardcoded values relevant to LocalStrings.properties in assertions --- .../apache/catalina/startup/TomcatBaseTest.java | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/test/org/apache/catalina/startup/TomcatBaseTest.java b/test/org/apache/catalina/startup/TomcatBaseTest.java index 1d7aa6aef6..10ac0da25a 100644 --- a/test/org/apache/catalina/startup/TomcatBaseTest.java +++ b/test/org/apache/catalina/startup/TomcatBaseTest.java @@ -36,6 +36,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.IdentityHashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.logging.Handler; import java.util.logging.Level; @@ -76,6 +77,7 @@ import org.apache.catalina.webresources.StandardRoot; import org.apache.coyote.http11.Http11NioProtocol; import org.apache.tomcat.util.buf.ByteChunk; import org.apache.tomcat.util.collections.CaseInsensitiveKeyMap; +import org.apache.tomcat.util.res.StringManager; import org.apache.tomcat.util.scan.StandardJarScanFilter; import org.apache.tomcat.util.scan.StandardJarScanner; @@ -1072,4 +1074,33 @@ public abstract class TomcatBaseTest extends LoggingBaseTest { } return webappLogCapture; } + + /** + * Returns the localized key in a LocalStrings.properties file. + * + * @param packagePath The package that contains LocalStrings.properties, e.g. 'org.apache.catalina.startup' + * @param key The key to find, e.g. 'versionLoggerListener.serverInfo.server.built' + * @param locale The locale to use, e.g. Locale.ENGLISH + * @return The prefix before the first argument placeholder and if no placeholder, returns the whole formatted string. + */ + public static String getKeyFromPropertiesFile(String packagePath, String key, Locale locale) { + StringManager sm; + if (locale != null) { + sm = StringManager.getManager(packagePath, locale); + } else { + sm = StringManager.getManager(packagePath); + } + + String formatted = sm.getString(key, "XXX"); + int insertIndex = formatted.indexOf("XXX"); + return (insertIndex == -1) ? formatted : formatted.substring(0, insertIndex); + } + public static String getKeyFromPropertiesFile(String packagePath, String key) { + return getKeyFromPropertiesFile(packagePath, key, Locale.getDefault()); + } + public static String getKeyFromPropertiesFile(StringManager sm, String key) { + String formatted = sm.getString(key, "XXX"); + int insertIndex = formatted.indexOf("XXX"); + return (insertIndex == -1) ? formatted : formatted.substring(0, insertIndex); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
