You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by mk...@apache.org on 2023/08/16 21:27:31 UTC

[solr] branch branch_9x updated: SOLR-16928: Add missing unit tests for RegexFileFilter and StrUtils.toLower (#1837) (#1844)

This is an automated email from the ASF dual-hosted git repository.

mkhl pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git


The following commit(s) were added to refs/heads/branch_9x by this push:
     new 0345529a382 SOLR-16928: Add missing unit tests for RegexFileFilter and StrUtils.toLower (#1837) (#1844)
0345529a382 is described below

commit 0345529a382e1cc51316a0d03ac59e5f54136211
Author: Mikhail Khludnev <mk...@users.noreply.github.com>
AuthorDate: Thu Aug 17 00:27:25 2023 +0300

    SOLR-16928: Add missing unit tests for RegexFileFilter and StrUtils.toLower (#1837) (#1844)
    
    * SOLR-16928: Add missing unit tests for RegexFileFilter and StrUtils.toLower
    
    * SOLR-16928: Add license to RegexFileFilterTest
    
    Co-authored-by: Jonathon Henderson <87...@users.noreply.github.com>
---
 .../org/apache/solr/util/RegexFileFilterTest.java  | 49 ++++++++++++++++++++++
 .../src/test/org/apache/solr/util/TestUtils.java   |  7 ++++
 2 files changed, 56 insertions(+)

diff --git a/solr/core/src/test/org/apache/solr/util/RegexFileFilterTest.java b/solr/core/src/test/org/apache/solr/util/RegexFileFilterTest.java
new file mode 100644
index 00000000000..8e69018c941
--- /dev/null
+++ b/solr/core/src/test/org/apache/solr/util/RegexFileFilterTest.java
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.solr.util;
+
+import java.io.File;
+import org.apache.solr.SolrTestCase;
+import org.junit.Test;
+
+public class RegexFileFilterTest extends SolrTestCase {
+
+  private final RegexFileFilter endsWithDotTxt = new RegexFileFilter(".*\\.txt$");
+  private final RegexFileFilter alphaWithTxtOrPdfExt = new RegexFileFilter("^[a-z]+\\.(txt|pdf)$");
+
+  @Test
+  public void testAcceptTrue() {
+    assertTrue(endsWithDotTxt.accept(new File("/foo/bar/baz.txt")));
+    assertTrue(endsWithDotTxt.accept(new File("/baz.txt")));
+    assertTrue(endsWithDotTxt.accept(new File("~/baz.txt")));
+    assertTrue(endsWithDotTxt.accept(new File("~/1234-abc_.txt")));
+    assertTrue(endsWithDotTxt.accept(new File(".txt")));
+    assertTrue(alphaWithTxtOrPdfExt.accept(new File("/foo/bar.txt")));
+    assertTrue(alphaWithTxtOrPdfExt.accept(new File("/foo/baz.pdf")));
+  }
+
+  @Test
+  public void testAcceptFalse() {
+    assertFalse(endsWithDotTxt.accept(new File("/foo/bar.tx")));
+    assertFalse(endsWithDotTxt.accept(new File("/foo/bar.txts")));
+    assertFalse(endsWithDotTxt.accept(new File("/foo/bar.exe")));
+    assertFalse(alphaWithTxtOrPdfExt.accept(new File("/foo/bar/b4z.txt")));
+    assertFalse(alphaWithTxtOrPdfExt.accept(new File("/foo/bar/baz.jpg")));
+    assertFalse(alphaWithTxtOrPdfExt.accept(new File("~/foo-bar.txt")));
+    assertFalse(alphaWithTxtOrPdfExt.accept(new File("~/foobar123.txt")));
+  }
+}
diff --git a/solr/core/src/test/org/apache/solr/util/TestUtils.java b/solr/core/src/test/org/apache/solr/util/TestUtils.java
index c2a0f85d146..90b118b7f1c 100644
--- a/solr/core/src/test/org/apache/solr/util/TestUtils.java
+++ b/solr/core/src/test/org/apache/solr/util/TestUtils.java
@@ -109,6 +109,13 @@ public class TestUtils extends SolrTestCaseJ4 {
     assertEquals("/h/s", arr.get(0));
   }
 
+  public void testToLower() {
+    assertEquals(List.of(), StrUtils.toLower(List.of()));
+    assertEquals(List.of(""), StrUtils.toLower(List.of("")));
+    assertEquals(List.of("foo"), StrUtils.toLower(List.of("foo")));
+    assertEquals(List.of("bar", "baz-123"), StrUtils.toLower(List.of("BAR", "Baz-123")));
+  }
+
   public void testNamedLists() {
     SimpleOrderedMap<Integer> map = new SimpleOrderedMap<>();
     map.add("test", 10);