summaryrefslogtreecommitdiff
path: root/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'test/java')
-rw-r--r--test/java/net/yacy/data/TranslatorTest.java17
-rw-r--r--test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java45
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"));
+ }
+}