Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Goldthorpe2008-07-10 18:10:18 +0000
committerChris Goldthorpe2008-07-10 18:10:18 +0000
commite28d7aa556604fe22e5fa617e547527056a979c6 (patch)
tree97e0f81beb83a2d2e2e6ef963eb29be48fd33fdd
parent38acd76240d8c9bdca4276097d62aea848a64ccb (diff)
downloadeclipse.platform.ua-e28d7aa556604fe22e5fa617e547527056a979c6.tar.gz
eclipse.platform.ua-e28d7aa556604fe22e5fa617e547527056a979c6.tar.xz
eclipse.platform.ua-e28d7aa556604fe22e5fa617e547527056a979c6.zip
Add tests to make sure the best analyzer is returned for each locale
-rw-r--r--org.eclipse.help.base/src/org/eclipse/help/internal/search/AnalyzerDescriptor.java4
-rw-r--r--org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java1
-rw-r--r--org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AnalyzerTest.java106
3 files changed, 111 insertions, 0 deletions
diff --git a/org.eclipse.help.base/src/org/eclipse/help/internal/search/AnalyzerDescriptor.java b/org.eclipse.help.base/src/org/eclipse/help/internal/search/AnalyzerDescriptor.java
index d56c23c5c..b2cb844d3 100644
--- a/org.eclipse.help.base/src/org/eclipse/help/internal/search/AnalyzerDescriptor.java
+++ b/org.eclipse.help.base/src/org/eclipse/help/internal/search/AnalyzerDescriptor.java
@@ -80,6 +80,10 @@ public class AnalyzerDescriptor {
public String getLang() {
return lang;
}
+
+ public String getAnalyzerClassName() {
+ return luceneAnalyzer.getClass().getName();
+ }
/**
* Creates analyzer for a locale, if it is configured in the
diff --git a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java
index 03456a0c8..438fad9f4 100644
--- a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java
+++ b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AllSearchTests.java
@@ -33,6 +33,7 @@ public class AllSearchTests extends TestSuite {
addTest(BasicTest.suite());
addTestSuite(WildcardTest.class);
addTestSuite(LocaleTest.class);
+ addTestSuite(AnalyzerTest.class);
addTest(SearchCheatsheet.suite());
}
}
diff --git a/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AnalyzerTest.java b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AnalyzerTest.java
new file mode 100644
index 000000000..10a43125e
--- /dev/null
+++ b/org.eclipse.ua.tests/help/org/eclipse/ua/tests/help/search/AnalyzerTest.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2008 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.ua.tests.help.search;
+
+import org.eclipse.help.internal.search.AnalyzerDescriptor;
+
+import junit.framework.TestCase;
+
+public class AnalyzerTest extends TestCase {
+
+ private final String[] supportedLanguages = { "en", "pt", "ja", "zh", "cs", "de", "el", "fr", "nl", "ru", "ar" };
+
+ public void testEnglishAnalyzer() {
+ checkAnalyzer("en", "en");
+ }
+
+ public void testEnglishUsAnalyzer() {
+ checkAnalyzer("en_us", "en");
+ }
+
+ public void testGermanAnalyzer_de() {
+ checkAnalyzer("de", "de");
+ }
+
+ public void testGermanAnalyzer_de_DE() {
+ checkAnalyzer("de_DE", "de");
+ }
+
+ public void testJapaneseAnalyzer() {
+ checkAnalyzer("ja", "ja");
+ }
+
+ public void testFrenchAnalyzer() {
+ checkAnalyzer("fr", "fr");
+ }
+
+ public void testChineseAnalyzer() {
+ checkAnalyzer("zh", "zh");
+ }
+
+ // Korean and japanese share an analyzer
+ public void testKoreanAnalyzer() {
+ checkAnalyzer("ko", "ja");
+ }
+
+ public void testRussianAnalyzer() {
+ checkAnalyzer("ru", "ru");
+ }
+
+ public void testGreekAnalyzer() {
+ checkAnalyzer("el", "el");
+ }
+
+ // Uses default
+ public void testSpanishAnalyzer() {
+ checkAnalyzer("es", "ar");
+ }
+
+ public void testPortugueseAnalyzer() {
+ checkAnalyzer("pt", "pt");
+ }
+
+ public void testDutchAnalyzer() {
+ checkAnalyzer("nl", "nl");
+ }
+
+ public void testCzechAnalyzer() {
+ checkAnalyzer("cs", "cs");
+ }
+
+ // Uses default
+ public void testArabicAnalyzer() {
+ checkAnalyzer("ar", "ar");
+ }
+
+ // Use default
+ public void testHebrewAnalyzer() {
+ checkAnalyzer("il", "ar");
+ }
+
+ private void checkAnalyzer(String language, String analyzerKind) {
+ AnalyzerDescriptor an = new AnalyzerDescriptor(language);
+;
+ for (int i = 0; i < supportedLanguages.length; i++) {
+ String nextLocale = supportedLanguages[i];
+ AnalyzerDescriptor expected = new AnalyzerDescriptor(nextLocale)
+;
+ if (nextLocale.equals(analyzerKind)) {
+ assertEquals("Comparing " + nextLocale + " to " + language, expected.getAnalyzerClassName(), an.getAnalyzerClassName());
+ } else {
+ assertFalse("Both " + nextLocale + " and " + language + " have value of " + expected.getAnalyzerClassName(), expected.getAnalyzerClassName().equals(an.getAnalyzerClassName()));
+
+ }
+ }
+
+ }
+
+}

Back to the top