示例#1
0
 /** Test methods i18nManager.findInKeys() i18nManager.findInValues() */
 @Test
 public void testFindInKeysAndFindInValues() {
   Locale testLocale = i18nMgr.getLocaleOrDefault("de");
   // in keys speedtest
   long start = System.currentTimeMillis();
   List<I18nItem> foundTransItems =
       i18nMgr.findI18nItemsByKeySearch("menu", testLocale, testLocale, null, true);
   long end = System.currentTimeMillis();
   log.info(
       "Searching for term 'menu' took me "
           + (end - start)
           + "ms, found "
           + foundTransItems.size()
           + " item",
       "testFindInKeys");
   // in values speedtest
   start = System.currentTimeMillis();
   foundTransItems =
       i18nMgr.findI18nItemsByValueSearch("OLAT", testLocale, testLocale, null, true);
   int uppercaseSize = foundTransItems.size();
   end = System.currentTimeMillis();
   log.info(
       "Searching for term 'OLAT' took me "
           + (end - start)
           + "ms, found "
           + foundTransItems.size()
           + " item",
       "testFindInKeys");
   // uppercase and lowercase must find the same values
   foundTransItems =
       i18nMgr.findI18nItemsByValueSearch("olat", testLocale, testLocale, null, true);
   assertEquals(uppercaseSize, foundTransItems.size());
   // find in values and regexp tests: * is replaced with regexp,
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Eingabefehler aufgetreten", testLocale, testLocale, null, true)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Eingabefehler*aufgetreten", testLocale, testLocale, null, true)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Eingabefe*ler*aufgetreten", testLocale, testLocale, null, true)
           .size());
   assertEquals(
       2,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Bitte f*llen Sie dieses Feld aus", testLocale, testLocale, null, true)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Bitte f*llen Sie dieses Feld aus", testLocale, testLocale, "org.olat.core", false)
           .size());
   // escape reserved regexp keywords
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch("OpenOLAT", testLocale, testLocale, "org.olat.core", false)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch("nOLAT", testLocale, testLocale, "org.olat.core", false)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch("*learning", testLocale, testLocale, "org.olat.core", false)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Eingaben</i> </br >*<b>bold</b>*<br>_<i>italic</i>_<br>* Listen",
               testLocale,
               testLocale,
               null,
               true)
           .size());
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "dargestellt werden. Bitte rufen Sie", testLocale, testLocale, null, true)
           .size());
   // multi line value search
   assertEquals(
       1,
       i18nMgr
           .findI18nItemsByValueSearch(
               "Die Aktion konnte nicht ausgef\u00FChrt werden",
               testLocale,
               testLocale,
               null,
               true)
           .size());
 }