Skip to content

Commit 531d84d

Browse files
committed
F Add support for dynamic tests written in Kotlin
Kotlin encodes lambdas differently than Java so unrollLambda has to be updated.
1 parent 0a51755 commit 531d84d

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

approvaltests-tests/src/test/java/org/approvaltests/namer/AttributeStackSelectorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public class AttributeStackSelectorTest
1313
@Test
1414
void unrollLambda()
1515
{
16-
String[] methodNames = {"doStuff", "lambda$handleCallback$0"};
16+
String[] methodNames = {"doStuff", "lambda$handleCallback$0", "test_in_kotlin$lambda-1$lambda-0"};
1717
Approvals.verifyAll("unroll lambda", methodNames,
1818
m -> String.format("%s -> %s", m, TestUtils.unrollLambda(m)));
1919
}

approvaltests-tests/src/test/java/org/approvaltests/namer/AttributeStackSelectorTest.unrollLambda.approved.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ unroll lambda
33

44
doStuff -> doStuff
55
lambda$handleCallback$0 -> handleCallback
6+
test_in_kotlin$lambda-1$lambda-0 -> test_in_kotlin

approvaltests-util/src/main/java/com/spun/util/tests/TestUtils.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,12 @@ public static String unrollLambda(String methodName)
227227
Matcher javaMatcher = unrollJavaLambdaPattern.matcher(methodName);
228228
if (javaMatcher.matches())
229229
{ return javaMatcher.group(1); }
230+
231+
Matcher kotlinMatcher = unrollKotlinLambdaPattern.matcher(methodName);
232+
if (kotlinMatcher.matches())
233+
{ return kotlinMatcher.group(1); }
230234
return methodName;
231235
}
232236
private static final Pattern unrollJavaLambdaPattern = Pattern.compile("lambda\\$(.*)\\$\\d+");
237+
private static final Pattern unrollKotlinLambdaPattern = Pattern.compile("(.*?)(\\$lambda-\\d+)+");
233238
}

0 commit comments

Comments
 (0)