|
From: <jer...@us...> - 2014-05-08 02:48:47
|
Revision: 8228
http://sourceforge.net/p/bigdata/code/8228
Author: jeremy_carroll
Date: 2014-05-08 02:48:41 +0000 (Thu, 08 May 2014)
Log Message:
-----------
Tests for Language Range
Modified Paths:
--------------
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/search/ConfigurableAnalyzerFactory.java
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestAll.java
Added Paths:
-----------
branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestLanguageRange.java
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/search/ConfigurableAnalyzerFactory.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/search/ConfigurableAnalyzerFactory.java 2014-05-08 01:52:09 UTC (rev 8227)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/java/com/bigdata/search/ConfigurableAnalyzerFactory.java 2014-05-08 02:48:41 UTC (rev 8228)
@@ -126,7 +126,7 @@
public class ConfigurableAnalyzerFactory implements IAnalyzerFactory {
final private static transient Logger log = Logger.getLogger(ConfigurableAnalyzerFactory.class);
- private static class LanguageRange implements Comparable<LanguageRange> {
+ static class LanguageRange implements Comparable<LanguageRange> {
private final String range[];
private final String full;
@@ -173,6 +173,10 @@
public int hashCode() {
return full.hashCode();
}
+
+ public boolean extendedFilterMatch(String langTag) {
+ return extendedFilterMatch(langTag.toLowerCase(Locale.ROOT).split("-"));
+ }
// See RFC 4647, 3.3.2
public boolean extendedFilterMatch(String[] language) {
Modified: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestAll.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestAll.java 2014-05-08 01:52:09 UTC (rev 8227)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestAll.java 2014-05-08 02:48:41 UTC (rev 8228)
@@ -72,6 +72,8 @@
// search backed by EDS.
suite.addTest(proxySuite(new TestEDS("EDS Search"),"EDS"));
+
+ suite.addTestSuite(TestLanguageRange.class);
return suite;
Added: branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestLanguageRange.java
===================================================================
--- branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestLanguageRange.java (rev 0)
+++ branches/BIGDATA_RELEASE_1_3_0/bigdata/src/test/com/bigdata/search/TestLanguageRange.java 2014-05-08 02:48:41 UTC (rev 8228)
@@ -0,0 +1,70 @@
+/**
+
+Copyright (C) SYSTAP, LLC 2006-2014. All rights reserved.
+
+Contact:
+ SYSTAP, LLC
+ 4501 Tower Road
+ Greensboro, NC 27410
+ lic...@bi...
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; version 2 of the License.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+/*
+ * Created on May 7, 2014
+ */
+package com.bigdata.search;
+
+import com.bigdata.search.ConfigurableAnalyzerFactory.LanguageRange;
+
+import junit.framework.TestCase2;
+
+public class TestLanguageRange extends TestCase2 {
+
+ public TestLanguageRange() {
+ }
+
+
+ public TestLanguageRange(String name) {
+ super(name);
+ }
+
+ private void match(String range, String lang) {
+ LanguageRange lr = new LanguageRange(range.toLowerCase());
+ assertTrue(lr.extendedFilterMatch(lang));
+ }
+
+ private void nomatch(String range, String lang) {
+ LanguageRange lr = new LanguageRange(range.toLowerCase());
+ assertFalse(lr.extendedFilterMatch(lang));
+ }
+
+
+ public void testRFC4647() {
+ for (String range: new String[]{"de-DE", "de-*-DE"}) {
+ match(range, "de-DE");
+ match(range, "de-Latn-DE");
+ match(range, "de-Latf-DE");
+ match(range, "de-DE-x-goethe");
+ match(range, "de-Latn-DE-1996");
+ match(range, "de-Deva-DE-1996");
+ nomatch(range, "de");
+ nomatch(range, "de-x-DE");
+ nomatch(range, "de-Deva");
+ }
+
+ }
+
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|