diff options
Diffstat (limited to 'test/java')
| -rw-r--r-- | test/java/net/yacy/data/TranslatorTest.java | 17 | ||||
| -rw-r--r-- | test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java | 45 |
2 files changed, 62 insertions, 0 deletions
diff --git a/test/java/net/yacy/data/TranslatorTest.java b/test/java/net/yacy/data/TranslatorTest.java index df5380d59..cc447f3a0 100644 --- a/test/java/net/yacy/data/TranslatorTest.java +++ b/test/java/net/yacy/data/TranslatorTest.java @@ -60,4 +60,21 @@ public class TranslatorTest { }
}
+ @Test
+ public void testTranslateSkipsTechnicalTargets() {
+ final Translator translator = new Translator();
+ final Map<String, String> translationTable = new HashMap<String, String>();
+ translationTable.put("Network", "Réseau");
+ translationTable.put("share", "partager");
+ translationTable.put("localhost", "hôte-local");
+
+ assertEquals("Réseau", translator.translate(new StringBuilder("Network"), translationTable));
+ assertEquals("<a href=\"Network.html\">Réseau</a>",
+ translator.translate(new StringBuilder("<a href=\"Network.html\">Network</a>"), translationTable));
+ assertEquals("servlet share.json",
+ translator.translate(new StringBuilder("servlet share.json"), translationTable));
+ assertEquals("http://localhost:8090/Network.html",
+ translator.translate(new StringBuilder("http://localhost:8090/Network.html"), translationTable));
+ }
+
}
diff --git a/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java b/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java new file mode 100644 index 000000000..4aafd98e3 --- /dev/null +++ b/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java @@ -0,0 +1,45 @@ +package net.yacy.utils.translation; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.util.Map; + +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +public class GenerateSourceMasterXliffTest { + + @Rule + public TemporaryFolder temporaryFolder = new TemporaryFolder(); + + @Test + public void testMainExtractsSourceVisibleTextAndVerifiesOutput() throws Exception { + final File sourceRoot = this.temporaryFolder.newFolder("htroot"); + final File sourceFile = new File(sourceRoot, "Network.html"); + Files.write(sourceFile.toPath(), ( + "<html><body>\n" + + "<a href=\"Network.html\" title=\"Network link\">Network</a>\n" + + "<input type=\"submit\" value=\"Save\">\n" + + "<input type=\"hidden\" value=\"Internal secret\">\n" + + "<script>Ignored script text</script>\n" + + "</body></html>\n").getBytes(StandardCharsets.UTF_8)); + + final File outputFile = this.temporaryFolder.newFile("source-master.lng.xlf"); + GenerateSourceMasterXliff.main(new String[] { sourceRoot.getAbsolutePath(), outputFile.getAbsolutePath() }); + + final Map<String, Map<String, String>> master = new TranslatorXliff().loadTranslationsListsFromXliff(outputFile); + assertTrue(master.containsKey("Network.html")); + + final Map<String, String> entries = master.get("Network.html"); + assertTrue(entries.containsKey("Network")); + assertTrue(entries.containsKey("\"Network link\"")); + assertTrue(entries.containsKey("\"Save\"")); + assertFalse(entries.containsKey("\"Internal secret\"")); + assertFalse(entries.containsKey("Ignored script text")); + } +} |
