]> source.dussan.org Git - gitblit.git/commitdiff
Add a unit test to check if the resource bundle can be loaded 1379/head
authorFlorian Zschocke <f.zschocke+git@gmail.com>
Wed, 20 Oct 2021 19:05:02 +0000 (21:05 +0200)
committerFlorian Zschocke <f.zschocke+git@gmail.com>
Wed, 20 Oct 2021 19:05:02 +0000 (21:05 +0200)
To prevent that we have a resource file in a resource bundle broken and
not loading undiscovered for years, add a unit test that will load the
resource properties file for each of the languages.
In order to check if the file was loaded and the bundle mechanism
didn't fall back on the default, a new property key is added to each
language file, solely for the purpose to be checked in the unit test.

15 files changed:
src/main/java/com/gitblit/wicket/GitBlitWebApp.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_cs.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_de.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_es.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_fr.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_it.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_ja.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_ko.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_nl.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_no.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_pl.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_pt_BR.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_CN.properties
src/main/java/com/gitblit/wicket/GitBlitWebApp_zh_TW.properties
src/test/java/com/gitblit/wicket/GitBlitWebAppResourceBundleTest.java [new file with mode: 0644]

index c46bd63dd2850d79c5748a51f2c8d932f689ceee..f6354ed89dd61232dcdfb7997a5ceec3760116d1 100644 (file)
@@ -785,3 +785,6 @@ gb.deletePatchsetFailure = Error deleting Patchset {0}.
 gb.referencedByCommit = Referenced by commit.
 gb.referencedByTicket = Referenced by ticket.
 gb.emailClientCertificateSubject = Your Gitblit client certificate for {0}
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = default
index 45eb428fbf1074e36af5676d47569b3d17893b12..a7a5277f801e0712cb2c1b04d46a0784dd58c68b 100644 (file)
@@ -786,3 +786,6 @@ gb.mailingLists=e-mailov\u00e1 konference
 gb.blinkComparator=Blink kompar\u00e1tor
 palette.available=Dostupn\u00ed
 palette.selected=Vybran\u00ed
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = \u010de\u0161tina
index 9599f7eb5c05267972a07e997f818a828d9f70c8..519515295e75f8571ea1300fd79238a2c3e2d162 100644 (file)
@@ -753,4 +753,7 @@ gb.diffCopiedFile = Datei kopiert von {0}
 gb.diffTruncated = Diff nach obiger Datei abgeschnitten
 gb.opacityAdjust = Transparenz
 gb.blinkComparator = Blinkkomparator
-gb.imgdiffSubtract = Pixeldifferenz (schwarz = identisch)
\ No newline at end of file
+gb.imgdiffSubtract = Pixeldifferenz (schwarz = identisch)
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = Deutsch
index fa08485a41cc7dc941a613f6fb4b286eedf0d52c..2569cc674bc2bbcce30ed8ea7d89dfb8524cbc76 100644 (file)
@@ -670,4 +670,7 @@ gb.repositoryIsFrozen = Este Repositorio est\u00E1 congelado.
 gb.repositoryDoesNotAcceptPatchsets = Este Repositorio no acepta parches.\r
 gb.serverDoesNotAcceptPatchsets = Este Servidor-Git no acepta parches.\r
 gb.ticketIsClosed = Este ticket est\u00E1 cerrado.\r
-gb.mergeToDescription = Rama de integraciu00F3n predeterminada para combinar ticket y parches
\ No newline at end of file
+gb.mergeToDescription = Rama de integraciu00F3n predeterminada para combinar ticket y parches\r
+\r
+# This last property for unit tests to test successful loading of the resource file\r
+gb.loadLang = Espa\u00f1ol\r
index 3e757120116ce692a441a89acc75fb58669e523c..8b765fd2bfeeb67c8265903a5baaa1725b2e55e4 100644 (file)
@@ -682,4 +682,7 @@ gb.diffCopiedFile = Fichier copi\u00e9 de {0}
 gb.diffTruncated = Affichage de diff\u00e9rences supprim\u00e9e apr\u00e8s le fichier ci-dessus
 gb.opacityAdjust = ajuster l'opacit\u00e9
 gb.blinkComparator = Comparateur \u00e0 clignotement
-gb.imgdiffSubtract = Diff\u00e9rence (noir = identique)
\ No newline at end of file
+gb.imgdiffSubtract = Diff\u00e9rence (noir = identique)
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = fran\u00e7ais
index 970496bb1fa14eac13fee71e1d06bd39805f8f21..cc5a2cd80d3021b2d07f0b6a3b2c26d5246c8eaf 100644 (file)
@@ -744,3 +744,5 @@ gb.sshKeyPermissionDescription = Definisci il il livello di accesso per la chiav
 gb.transportPreference = Preferenze di trasporto
 gb.transportPreferenceDescription = Specifica il protocollo di trasporto che preferisci usare per le operazioni di clone
 
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = Italiano
index 36e21a7fc10e521ec0b36165a07e157c65c89ad3..add25403dd5d53bfd314f0acb7af865740bc9565 100644 (file)
@@ -449,4 +449,7 @@ gb.closeBrowser = Please close the browser to properly end the session.
 gb.doesNotExistInTree = {0} does not exist in tree {1}\r
 gb.enableIncrementalPushTags = enable incremental push tags\r
 gb.useIncrementalPushTagsDescription = on push, automatically tag each branch tip with an incremental revision number\r
-gb.incrementalPushTagMessage = Auto-tagged [{0}] branch on push
\ No newline at end of file
+gb.incrementalPushTagMessage = Auto-tagged [{0}] branch on push\r
+\r
+# This last property for unit tests to test successful loading of the resource file\r
+gb.loadLang = \u306b\u307b\u3093\u3054\r
index b4a675ce8bfbe95d201eda214af215011467c192..23ab11870df795bb96a824c13368c215807c62fe 100644 (file)
@@ -784,3 +784,7 @@ gb.deletePatchsetSuccess = {0} \uD328\uCE58\uC14B\uC774 \uC0AD\uC81C\uB418\uC5C8
 gb.deletePatchsetFailure = {0} \uD328\uCE58\uC14B \uC0AD\uC81C \uC624\uB958.
 gb.referencedByCommit = \uCEE4\uBC0B\uC5D0 \uCC38\uC870\uB428.
 gb.referencedByTicket = \uD2F0\uCF13\uC5D0 \uCC38\uC870\uB428.
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = \ud55c\uad6d\uc5b4
+
index 41656e8a99da62e6ddc8bb1070bb68624583f2a9..7dd68b39f5679a4f92378b8a2fd9d7c48a3b1b39 100644 (file)
@@ -743,3 +743,7 @@ gb.permission = Permissie
 gb.sshKeyPermissionDescription = Specificeer de toegangsrechten voor de SSH sleutel
 gb.transportPreference = Transportvoorkeuren
 gb.transportPreferenceDescription = Stel de transportmethode in die u wenst voor het clonen
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = Nederlands
+
index 9b1b1c2ee344d40caa8d87a43c33c73d7274d156..d3a6355abfc757ecce9bfac58d3ebf70c54cad1f 100644 (file)
@@ -742,4 +742,7 @@ gb.sshKeyCommentDescription = Angi en valgfri kommentar. Kommentaren vil bli eks
 gb.permission = Tilgang
 gb.sshKeyPermissionDescription = Angi tilgangsrettinghet for SSH n\u00F8kkelen
 gb.transportPreference = Foretrukket transport 
-gb.transportPreferenceDescription = Sett transportmetoden du foretrekker for cloning
\ No newline at end of file
+gb.transportPreferenceDescription = Sett transportmetoden du foretrekker for cloning
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = Norsk
index fee4b9759de1550c3afb29bd994c49868914e3bc..340723f7d4ebc98e293377ee61e4864d46cf5838 100644 (file)
@@ -503,3 +503,6 @@ gb.todaysActivityStats = dzisiaj / {1} zmian przez {2} autor\u00F3w
 gb.todaysActivityNone = dzisiaj / brak
 gb.noActivityToday = brak aktywno\u015Bci w dniu dzisiejszym
 gb.anonymousUser= anonimowy
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = polszczyzna
index b573792f81b3f850e7268985f53f2df9ae9ce5ad..9e697b4f8bc8f11eaa5181f2e5104d493995817a 100644 (file)
@@ -502,4 +502,8 @@ gb.reviewPatchset = rever {0} patchset {1}
 gb.todaysActivityStats = hoje / {1} commits por {2} autores\r
 gb.todaysActivityNone = hoje / nenhum\r
 gb.noActivityToday = não houve atividade hoje\r
-gb.anonymousUser= anônimo
\ No newline at end of file
+gb.anonymousUser= anônimo\r
+\r
+# This last property for unit tests to test successful loading of the resource file\r
+gb.loadLang = Portugu\u00eas\r
+\r
index 5ecd1519f178a48eb1d4d82d88871c4ce42349c0..5f5b9a947900b9012d0a7e04a4877d35b1fdd235 100644 (file)
@@ -784,3 +784,6 @@ gb.deletePatchsetFailure = \u5220\u9664\u8865\u4e01\u96c6 {0} \u65f6\u53d1\u751f
 gb.referencedByCommit = \u88ab\u63d0\u4ea4\u5f15\u7528\u3002
 gb.referencedByTicket = \u88ab\u4efb\u52a1\u5f15\u7528\u3002
 gb.emailClientCertificateSubject = \u7528\u4e8e {0} \u7684 Gitblit \u5ba2\u6237\u7aef\u8bc1\u4e66 
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = \u6c49\u5b57
index 63106469423288e60e279da940d061a4383b0e0b..910dea41507385f326994588ba9865f471017996 100644 (file)
@@ -783,3 +783,6 @@ gb.deletePatchsetFailure = \u522a\u9664 Patchset {0} \u932f\u8aa4.
 gb.referencedByCommit = Referenced by commit.
 gb.referencedByTicket = Referenced by ticket.
 gb.emailClientCertificateSubject = \u4F3A\u670D\u5668 {0} \u9023\u7DDA\u6191\u8B49 
+
+# This last property for unit tests to test successful loading of the resource file
+gb.loadLang = \u6f22\u5b57
diff --git a/src/test/java/com/gitblit/wicket/GitBlitWebAppResourceBundleTest.java b/src/test/java/com/gitblit/wicket/GitBlitWebAppResourceBundleTest.java
new file mode 100644 (file)
index 0000000..05549d1
--- /dev/null
@@ -0,0 +1,146 @@
+package com.gitblit.wicket;
+
+import org.junit.Test;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+
+import static org.junit.Assert.*;
+
+public class GitBlitWebAppResourceBundleTest
+{
+    @Test
+    public void testDefaultResource()
+    {
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp");
+        assertNotNull(bundle);
+        assertEquals("default", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testCsResource()
+    {
+        Locale l = Locale.forLanguageTag("cs");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("čeština", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testDeResource()
+    {
+        Locale l = Locale.GERMAN;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Deutsch", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testEnResource()
+    {
+        Locale l = Locale.ENGLISH;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        // The "en" file is just a placeholder for the default one.
+        assertEquals("default", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testEsResource()
+    {
+        Locale l = Locale.forLanguageTag("es");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Español", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testFrResource() throws Exception
+    {
+        Locale l = Locale.FRENCH;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("français", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testItResource() throws Exception
+    {
+        Locale l = Locale.ITALIAN;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Italiano", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testJaResource() throws Exception
+    {
+        Locale l = Locale.JAPANESE;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("にほんご", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testKoResource() throws Exception
+    {
+        Locale l = Locale.KOREAN;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("한국어", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testNlResource() throws Exception
+    {
+        Locale l = Locale.forLanguageTag("nl");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Nederlands", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testNoResource() throws Exception
+    {
+        Locale l = Locale.forLanguageTag("no");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Norsk", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testPlResource() throws Exception
+    {
+        Locale l = Locale.forLanguageTag("pl");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("polszczyzna", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testPtBrResource() throws Exception
+    {
+        Locale l = Locale.forLanguageTag("pt-BR");
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("Português", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testZhCnResource() throws Exception
+    {
+        Locale l = Locale.SIMPLIFIED_CHINESE;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("汉字", bundle.getString("gb.loadLang"));
+    }
+
+    @Test
+    public void testZhTwResource() throws Exception
+    {
+        Locale l = Locale.TRADITIONAL_CHINESE;
+        ResourceBundle bundle = ResourceBundle.getBundle("com.gitblit.wicket.GitBlitWebApp", l);
+        assertNotNull(bundle);
+        assertEquals("漢字", bundle.getString("gb.loadLang"));
+    }
+}
\ No newline at end of file