From b8c8a9017c9abd4cd0b2d685d34a3c4b7982d7ac Mon Sep 17 00:00:00 2001 From: gmungoc Date: Mon, 9 Mar 2020 14:54:16 +0000 Subject: [PATCH] JAL-3528 unit tests added for failed lookup, Javadoc --- src/jalview/util/MessageManager.java | 43 +++++++++++++++++++++++------ test/jalview/util/MessageManagerTest.java | 31 +++++++++++++++++++++ 2 files changed, 66 insertions(+), 8 deletions(-) create mode 100644 test/jalview/util/MessageManagerTest.java diff --git a/src/jalview/util/MessageManager.java b/src/jalview/util/MessageManager.java index 25e10c3..4359506 100644 --- a/src/jalview/util/MessageManager.java +++ b/src/jalview/util/MessageManager.java @@ -35,7 +35,6 @@ import java.util.logging.Logger; */ public class MessageManager { - private static ResourceBundle rb; private static Logger log = Logger @@ -72,6 +71,13 @@ public class MessageManager } + /** + * Returns the resource bundle text for the given key, or if not found, the + * key prefixed by "[missing key]" + * + * @param key + * @return + */ public static String getString(String key) { String value = "[missing key] " + key; @@ -90,6 +96,15 @@ public class MessageManager return loc; } + /** + * Returns the resource bundle text for the given key, with tokens {@code {0}, + * {1} etc replaced by the supplied parameters. If the key is not found, + * returns the key and values prefixed by "[missing key]" + * + * @param key + * + * @return + */ public static String formatMessage(String key, Object... params) { try @@ -98,8 +113,6 @@ public class MessageManager } catch (Exception e) { log.warning("I18N missing: " + loc + "\t" + key); - // e.printStackTrace(); - } String value = "[missing key] " + key + ""; for (Object p : params) @@ -109,17 +122,31 @@ public class MessageManager return value; } + /** + * Returns the resource bundle text for the given key, with tokens {@code {0}, + * {1} etc replaced by the supplied parameters. If the key is not found, + * returns the key and values prefixed by "[missing key]" + * + * @param key + * + * @return + */ public static String formatMessage(String key, String[] params) { return formatMessage(key, (Object[]) params); } /** - * lookup and return a key given a root and a human-readable(ish) name that - * when combined might resolve to an i18n string. If the key doesn't resolve, - * then name is returned.if the key doesn't exist. Use this for - * programatically constructed keys that have have a human readable - * alternative used in the program (e.g. BLOSUM62 and label.score_blosum62) + * Returns resource bundle text given a root and a human-readable(ish) name + * that when combined might resolve to an i18n string. {@code name} is forced + * to lower case, with any spaces removed, and concatenated to {@code keyroot} + * to form a lookup key. + *

+ * If the key doesn't resolve, then {@code name} is returned. + *

+ * Use this for programmatically constructed keys that might have a human + * readable alternative used in the program (e.g. BLOSUM62 and + * label.score_blosum62). * * @param keyroot * @param name diff --git a/test/jalview/util/MessageManagerTest.java b/test/jalview/util/MessageManagerTest.java new file mode 100644 index 0000000..68fd51b --- /dev/null +++ b/test/jalview/util/MessageManagerTest.java @@ -0,0 +1,31 @@ +package jalview.util; + +import static org.testng.Assert.assertEquals; + +import org.testng.annotations.Test; + +public class MessageManagerTest +{ + @Test(groups = "Functional") + public void testFormatMessage_invalid() + { + String msg = MessageManager.formatMessage("label.rubbish", "goodbye", + "world"); + assertEquals(msg, "[missing key] label.rubbish 'goodbye' 'world'"); + } + + @Test(groups = "Functional") + public void testGetString_invalid() + { + String msg = MessageManager.getString("label.rubbish"); + assertEquals(msg, "[missing key] label.rubbish"); + } + + @Test(groups = "Functional") + public void testGetStringOrReturn() + { + String msg = MessageManager.getStringOrReturn("label.rubbish", + "rubbishdefault"); + assertEquals(msg, "rubbishdefault"); + } +} -- 1.7.10.2