# HG changeset patch # User Robert Casties # Date 1535380486 -7200 # Node ID e8cee8cf2f52f9118d031231a161e7a7227d272a # Parent 2c01cdc9b34a37ed7f572bef09b2947aec8490dd small bugfix and minimal tests for ArabicTranslitNormalizer. diff -r 2c01cdc9b34a -r e8cee8cf2f52 src/main/java/org/mpi/openmind/repository/utils/ArabicTranslitNormalizer.java --- a/src/main/java/org/mpi/openmind/repository/utils/ArabicTranslitNormalizer.java Mon Jun 25 18:12:00 2018 +0200 +++ b/src/main/java/org/mpi/openmind/repository/utils/ArabicTranslitNormalizer.java Mon Aug 27 16:34:46 2018 +0200 @@ -69,6 +69,9 @@ if (StringUtils.isEmpty(text)) { return text; } + + // normalize Unicode + text = Normalizer.normalize(text, Form.NFC); // everything is lowercase TODO: locale? text = text.toLowerCase(); diff -r 2c01cdc9b34a -r e8cee8cf2f52 src/test/java/org/mpi/openmind/repository/utils/ArabicTranslitNormalizerTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/test/java/org/mpi/openmind/repository/utils/ArabicTranslitNormalizerTest.java Mon Aug 27 16:34:46 2018 +0200 @@ -0,0 +1,23 @@ +package org.mpi.openmind.repository.utils; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * @author casties + * + */ +public class ArabicTranslitNormalizerTest { + + /** + * Test method for {@link org.mpi.openmind.repository.utils.ArabicTranslitNormalizer#normalize(java.lang.String)}. + */ + @Test + public void testNormalize() { + assertEquals("t/t h/h d/d s/s j/j a", ArabicTranslitNormalizer.normalize("Ṯ/ṯ Ḫ/ḫ Ḏ/ḏ Š/š Ġ/ġ ỳ")); + assertEquals("t/t h/h d/d s/s j/j a", ArabicTranslitNormalizer.normalize("Th/th Kh/kh Dh/dh Sh/sh Gh/gh a")); + assertEquals("fath fath", ArabicTranslitNormalizer.normalize("fatḥ FATḤ")); + } + +}