From a308d095fa4d65705584cf7ff87dbedc42e37416 Mon Sep 17 00:00:00 2001 From: Daniil Barabash Date: Thu, 11 Mar 2021 16:33:53 +0200 Subject: [PATCH] Fix for searching files --- .../java/com/crowdin/cli/properties/helper/FileHelper.java | 6 ++++++ .../com/crowdin/cli/properties/helper/FileHelperTest.java | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/crowdin/cli/properties/helper/FileHelper.java b/src/main/java/com/crowdin/cli/properties/helper/FileHelper.java index d7912d2ba..a767724c8 100755 --- a/src/main/java/com/crowdin/cli/properties/helper/FileHelper.java +++ b/src/main/java/com/crowdin/cli/properties/helper/FileHelper.java @@ -53,6 +53,10 @@ public class FileHelper { private static final String ESCAPE_ASTERISK_PLACEHOLDER = "{ESCAPE_ASTERISK}"; + private static final String PLUS = "+"; + + private static final String ESCAPE_PLUS = "\\+"; + private final String basePath; public FileHelper(String basePath) { @@ -127,6 +131,8 @@ private String translateToRegex(String node) { .replace(ESCAPE_QUESTION, ESCAPE_QUESTION_PLACEHOLDER) .replace(QUESTION_MARK, DOT) .replace(ESCAPE_QUESTION_PLACEHOLDER, ESCAPE_QUESTION); + node = node + .replace(PLUS, ESCAPE_PLUS); node = node .replace(ESCAPE_ASTERISK, ESCAPE_ASTERISK_PLACEHOLDER) .replace(ASTERISK, DOT_PLUS) diff --git a/src/test/java/com/crowdin/cli/properties/helper/FileHelperTest.java b/src/test/java/com/crowdin/cli/properties/helper/FileHelperTest.java index 6934dbd53..adbfaef32 100644 --- a/src/test/java/com/crowdin/cli/properties/helper/FileHelperTest.java +++ b/src/test/java/com/crowdin/cli/properties/helper/FileHelperTest.java @@ -41,6 +41,8 @@ public class FileHelperTest { private static String f2 = Utils.normalizePath("f2/"); private static String f21 = Utils.normalizePath("f2/in1/"); + private static String fintlicu = Utils.normalizePath("f+intl-icu.en.yaml"); + private static String projectRoot = Utils.normalizePath(""); private static List allFiles = Arrays.asList(a, ax, f1a, f1ax, f11a, f11ax, f2a, f2ax, f21a, f21ax); @@ -111,7 +113,8 @@ static Stream testGetFiles() { arguments(allFiles, Utils.normalizePath("?.*"), Arrays.asList(a, ax)), arguments(allFiles, Utils.normalizePath("*"), Arrays.asList(a, ax, f1, f2)), arguments(allFiles, Utils.normalizePath("f3/**/*"), Collections.EMPTY_LIST), - arguments(allFiles, Utils.normalizePath("/f1/**"), Arrays.asList(f1, f11)) + arguments(allFiles, Utils.normalizePath("/f1/**"), Arrays.asList(f1, f11)), + arguments(Collections.singletonList(fintlicu), fintlicu, Arrays.asList(fintlicu)) ); }