Compare commits
2 commits
a109d2ad93
...
fc0963ad40
Author | SHA1 | Date | |
---|---|---|---|
fc0963ad40 | |||
cfb8839359 |
1 changed files with 40 additions and 14 deletions
|
@ -71,6 +71,30 @@ class GeneratedVersionTest {
|
||||||
logger.setUseParentHandlers(false);
|
logger.setUseParentHandlers(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compares two strings by removing all line separators and whitespace.
|
||||||
|
*
|
||||||
|
* @param text1 The first text to compare
|
||||||
|
* @param text2 The second text to compare
|
||||||
|
* @return true if the texts are equivalent when line separators are ignored, false otherwise
|
||||||
|
*/
|
||||||
|
static boolean compareTextIgnoringLineSeparators(String text1, String text2) {
|
||||||
|
// Handle null cases
|
||||||
|
if (text1 == null && text2 == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (text1 == null || text2 == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Remove all line separators and whitespace
|
||||||
|
var cleanedText1 = text1.replaceAll("\\r?\\n|\\r|\\s", "");
|
||||||
|
var cleanedText2 = text2.replaceAll("\\r?\\n|\\r|\\s", "");
|
||||||
|
|
||||||
|
// Compare the cleaned strings
|
||||||
|
return cleanedText1.equals(cleanedText2);
|
||||||
|
}
|
||||||
|
|
||||||
static void deleteOnExit(File folder) {
|
static void deleteOnExit(File folder) {
|
||||||
folder.deleteOnExit();
|
folder.deleteOnExit();
|
||||||
for (var f : Objects.requireNonNull(folder.listFiles())) {
|
for (var f : Objects.requireNonNull(folder.listFiles())) {
|
||||||
|
@ -91,21 +115,23 @@ class GeneratedVersionTest {
|
||||||
gv.setProjectName("My App");
|
gv.setProjectName("My App");
|
||||||
gv.setClassName("MyVersion");
|
gv.setClassName("MyVersion");
|
||||||
|
|
||||||
var eol = System.lineSeparator();
|
|
||||||
var t = gv.buildTemplate();
|
var t = gv.buildTemplate();
|
||||||
assertThat(t.getContent()).isEqualTo("package com.example.my;" + eol +
|
var v = gv.getProject().version();
|
||||||
eol +
|
assertThat(v).extracting("majorInt", "minorInt", "revisionInt").as("version")
|
||||||
"public final class MyVersion {" + eol +
|
.containsExactly(2, 1, 3);
|
||||||
" public static final int PROJECT = \"My App\";" + eol +
|
assertThat(compareTextIgnoringLineSeparators(t.getContent(),
|
||||||
" public static final int MAJOR = 2;" + eol +
|
String.format("package %s;" +
|
||||||
" public static final int MINOR = 1;" + eol +
|
"public final class %s {" +
|
||||||
" public static final int REVISION = 3;" + eol +
|
" public static final int PROJECT = \"%s\";" +
|
||||||
" public static final String QUALIFIER = \"\";" + eol +
|
" public static final int MAJOR = %d;" +
|
||||||
eol +
|
" public static final int MINOR = %d;" +
|
||||||
" private MyVersion() {" + eol +
|
" public static final int REVISION = %d;" +
|
||||||
" // no-op" + eol +
|
" public static final String QUALIFIER = \"\";" +
|
||||||
" }" + eol +
|
" private MyVersion() {" +
|
||||||
"}" + eol);
|
" // no-op" +
|
||||||
|
" }" +
|
||||||
|
"}", gv.getPackageName(), gv.getClassName(), gv.getProjectName(), v.majorInt(),
|
||||||
|
v.minorInt(), v.revisionInt()))).as("template").isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue