/** Test methods i18nManager.countI18nItems() and i18nManager.countBundles() */ @Ignore @Test public void testCountI18nItemsAndBundles() { I18nModule.initBundleNames(); // remove dirty stuff from previous tests int bundleCounter = I18nModule.getBundleNamesContainingI18nFiles().size(); String testNewBundle = "org.olat.core.util.i18n.junittestdata.new"; Locale testLocale = i18nMgr.getLocaleOrDefault("de"); File baseDir = I18nModule.getPropertyFilesBaseDir(testLocale, testNewBundle); File testFile = i18nMgr.getPropertiesFile(testLocale, testNewBundle, baseDir); // clean first existing files from previous broken testcase if (testFile.exists()) { i18nMgr.deleteProperties(testLocale, testNewBundle); } Properties props = i18nMgr.getResolvedProperties(testLocale, testNewBundle); assertEquals(0, i18nMgr.countI18nItems(testLocale, testNewBundle, true)); assertEquals(0, i18nMgr.countI18nItems(testLocale, testNewBundle, false)); props.setProperty("key.1", "1"); props.setProperty("key.2", "2"); i18nMgr.saveOrUpdateProperties(props, testLocale, testNewBundle); assertEquals(2, i18nMgr.countI18nItems(testLocale, testNewBundle, false)); assertEquals(0, i18nMgr.countI18nItems(i18nMgr.getLocaleOrDefault("en"), testNewBundle, false)); assertEquals(bundleCounter + 1, I18nModule.getBundleNamesContainingI18nFiles().size()); // test all bundles int allCount = i18nMgr.countI18nItems(testLocale, null, true); assertEquals(allCount, i18nMgr.countI18nItems(testLocale, null, false)); props.remove("key.1"); i18nMgr.saveOrUpdateProperties(props, testLocale, testNewBundle); assertEquals(allCount - 1, i18nMgr.countI18nItems(testLocale, null, false)); i18nMgr.deleteProperties(testLocale, testNewBundle); assertEquals(allCount - 2, i18nMgr.countI18nItems(testLocale, null, false)); assertEquals(bundleCounter, I18nModule.getBundleNamesContainingI18nFiles().size()); // count bundles tests assertEquals(0, i18nMgr.countBundles("org.olat.core.util.i18n.nonexisting", true)); assertEquals(1, i18nMgr.countBundles("org.olat.core.util.i18n.ui", true)); // finds 4: regular: i18n.devtools, i18n.ui; assertEquals(2, i18nMgr.countBundles("org.olat.core.util.i18n", true)); assertEquals(0, i18nMgr.countBundles("org.olat.core.util.i18n", false)); assertEquals(1, i18nMgr.countBundles("org.olat.core.util.i18n.ui", false)); assertTrue(0 < i18nMgr.countBundles(null, false)); // clean up if (testFile.exists()) { i18nMgr.deleteProperties(testLocale, testNewBundle); } if (testFile.getParentFile().exists()) { testFile.getParentFile().delete(); } }