diff options
author | Chris Goldthorpe | 2008-07-10 18:10:18 +0000 |
---|---|---|
committer | Chris Goldthorpe | 2008-07-10 18:10:18 +0000 |
commit | e28d7aa556604fe22e5fa617e547527056a979c6 (patch) | |
tree | 97e0f81beb83a2d2e2e6ef963eb29be48fd33fdd | |
parent | 38acd76240d8c9bdca4276097d62aea848a64ccb (diff) | |
download | eclipse.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
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())); + + } + } + + } + +} |