Skip to content

Commit

Permalink
logs
Browse files Browse the repository at this point in the history
  • Loading branch information
yevheniyJ committed Jan 18, 2025
1 parent 8e02d6c commit 5f8321e
Show file tree
Hide file tree
Showing 4 changed files with 72 additions and 61 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ jobs:
cache: 'gradle'

- name: Run Tests
run: ./gradlew test
run: ./gradlew test --tests com.crowdin.cli.utils.PlaceholderUtilTest.testMainFunctionality

- name: Test Report
uses: dorny/test-reporter@v1
Expand Down
1 change: 1 addition & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ shadowJar {

test {
useJUnitPlatform()
testLogging.showStandardStreams = true
}

jacoco {
Expand Down
18 changes: 14 additions & 4 deletions src/main/java/com/crowdin/cli/utils/PlaceholderUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ public String replaceFileDependentPlaceholders(String toFormat, File file) {
throw new NullPointerException("null args in replaceFileDependentPlaceholders()");
}
String fileName = file.getName();
String filePath = Utils.isWindows() ? Utils.toWindowsPath(file.getPath()) : file.getPath();
String fileNameWithoutExt = FilenameUtils.removeExtension(fileName);
String fileExt = FilenameUtils.getExtension(fileName);
String tempBasePath = basePath;
Expand All @@ -208,23 +207,34 @@ public String replaceFileDependentPlaceholders(String toFormat, File file) {
toFormat = toFormat.contains(PLACEHOLDER_ORIGINAL_PATH) ? toFormat.replace(PLACEHOLDER_ORIGINAL_PATH, fileParent) : toFormat;
toFormat = toFormat.replace("/", File.separator);

System.out.println("[1] " + toFormat);

if (toFormat.contains("**")) {
String prefixFormat = StringUtils.substringBefore(toFormat, "**");
String substringAfter = StringUtils.substringAfter(toFormat, "**");
System.out.println("[2] " + prefixFormat);
System.out.println("[3] " + substringAfter);
System.out.println("[4] " + file.getPath());
//making sure "substringAfter" has full file path part that goes after "**"
if (substringAfter.length() > 1 && !filePath.endsWith(substringAfter) && filePath.contains(substringAfter)) {
String[] parts = filePath.split(substringAfter);
if (substringAfter.length() > 1 && !file.getPath().endsWith(substringAfter) && file.getPath().contains(substringAfter)) {
String[] parts = file.getPath().split(substringAfter);
substringAfter = Utils.joinPaths(substringAfter, parts[parts.length - 1]);
System.out.println("[5] " + substringAfter);
}
String postfix = Utils.getParentDirectory(substringAfter);
String prefix = prefixFormat.length() > 1 && filePath.contains(prefixFormat) ? StringUtils.substringBefore(fileParent, Utils.noSepAtStart(prefixFormat)) : "";
System.out.println("[6] " + postfix);
String prefix = prefixFormat.length() > 1 && file.getPath().contains(prefixFormat) ? StringUtils.substringBefore(fileParent, Utils.noSepAtStart(prefixFormat)) : "";
String doubleAsterisks =
StringUtils.removeStart(Utils.noSepAtStart(StringUtils.removeStart(fileParent, prefix)), Utils.noSepAtEnd(Utils.noSepAtStart(prefixFormat)));
System.out.println("[7] " + doubleAsterisks);
doubleAsterisks = postfix.length() > 1 ? StringUtils.removeEnd(doubleAsterisks, Utils.noSepAtEnd(postfix)) : doubleAsterisks;
System.out.println("[8] " + doubleAsterisks);
toFormat = toFormat.replace("**", doubleAsterisks);
System.out.println("[9] " + toFormat);
}

toFormat = toFormat.replaceAll("[\\\\/]+", Utils.PATH_SEPARATOR_REGEX);
System.out.println("[10] " + toFormat);
return StringUtils.removeStart(toFormat, Utils.PATH_SEPARATOR);
}

Expand Down
112 changes: 56 additions & 56 deletions src/test/java/com/crowdin/cli/utils/PlaceholderUtilTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -46,62 +46,62 @@ public void testMainFunctionality(

static Stream<Arguments> testMainFunctionality() {
return Stream.of(
arguments(
new Language[] {LanguageBuilder.UKR.build(), LanguageBuilder.RUS.build()},
new Language[] {LanguageBuilder.UKR.build(), LanguageBuilder.RUS.build()},
new File[] {new File("resources/messages.xml")},
Utils.normalizePath("resources/%two_letters_code%_%original_file_name%"),
new String[] {Utils.normalizePath("resources/ua_messages.xml"), Utils.normalizePath("resources/ru_messages.xml")}
),
arguments(// How to treat double asterisks
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/messages.xml")},
Utils.normalizePath("/**/%two_letters_code%_%original_file_name%"),
new String[] {Utils.normalizePath("resources/en_messages.xml")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/main/settings/default/messages.xml")},
Utils.normalizePath("app/**/default/%two_letters_code%_%original_file_name%"),
new String[] {Utils.normalizePath("app/resources/main/settings/default/en_messages.xml")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/main/settings/default/test/messages.xml")},
Utils.normalizePath("app/**/default/test/%two_letters_code%_%original_file_name%"),
new String[] {Utils.normalizePath("app/resources/main/settings/default/test/en_messages.xml")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/test/main/settings/default/en/test/messages.xml")},
Utils.normalizePath("app/**/default/%two_letters_code%"),
new String[] {Utils.normalizePath("app/resources/test/main/settings/default/en")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/test/main/settings/default/en/messages.xml")},
Utils.normalizePath("app/**/default/%two_letters_code%/%original_file_name%"),
new String[] {Utils.normalizePath("app/resources/test/main/settings/default/en/messages.xml")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/test/main/settings/default/en/messages.xml")},
Utils.normalizePath("**/default/%two_letters_code%/"),
new String[] {Utils.normalizePath("resources/test/main/settings/default/en/")}
),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
new File[] {new File("resources/test/main/settings/default/test/en/messages.xml")},
Utils.normalizePath("**/default/test/%two_letters_code%"),
new String[] {Utils.normalizePath("resources/test/main/settings/default/test/en")}
),
// arguments(
// new Language[] {LanguageBuilder.UKR.build(), LanguageBuilder.RUS.build()},
// new Language[] {LanguageBuilder.UKR.build(), LanguageBuilder.RUS.build()},
// new File[] {new File("resources/messages.xml")},
// Utils.normalizePath("resources/%two_letters_code%_%original_file_name%"),
// new String[] {Utils.normalizePath("resources/ua_messages.xml"), Utils.normalizePath("resources/ru_messages.xml")}
// ),
// arguments(// How to treat double asterisks
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/messages.xml")},
// Utils.normalizePath("/**/%two_letters_code%_%original_file_name%"),
// new String[] {Utils.normalizePath("resources/en_messages.xml")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/main/settings/default/messages.xml")},
// Utils.normalizePath("app/**/default/%two_letters_code%_%original_file_name%"),
// new String[] {Utils.normalizePath("app/resources/main/settings/default/en_messages.xml")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/main/settings/default/test/messages.xml")},
// Utils.normalizePath("app/**/default/test/%two_letters_code%_%original_file_name%"),
// new String[] {Utils.normalizePath("app/resources/main/settings/default/test/en_messages.xml")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/test/main/settings/default/en/test/messages.xml")},
// Utils.normalizePath("app/**/default/%two_letters_code%"),
// new String[] {Utils.normalizePath("app/resources/test/main/settings/default/en")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/test/main/settings/default/en/messages.xml")},
// Utils.normalizePath("app/**/default/%two_letters_code%/%original_file_name%"),
// new String[] {Utils.normalizePath("app/resources/test/main/settings/default/en/messages.xml")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/test/main/settings/default/en/messages.xml")},
// Utils.normalizePath("**/default/%two_letters_code%/"),
// new String[] {Utils.normalizePath("resources/test/main/settings/default/en/")}
// ),
// arguments(// How to treat double asterisks in the middle
// new Language[] {LanguageBuilder.ENG.build()},
// new Language[] {LanguageBuilder.ENG.build()},
// new File[] {new File("resources/test/main/settings/default/test/en/messages.xml")},
// Utils.normalizePath("**/default/test/%two_letters_code%"),
// new String[] {Utils.normalizePath("resources/test/main/settings/default/test/en")}
// ),
arguments(// How to treat double asterisks in the middle
new Language[] {LanguageBuilder.ENG.build()},
new Language[] {LanguageBuilder.ENG.build()},
Expand Down

0 comments on commit 5f8321e

Please sign in to comment.