Skip to content

Commit b8763dc

Browse files
ehborisovbaev
authored andcommitted
fix special symbols in step names (fixes #73, via #96)
1 parent e83fa0a commit b8763dc

File tree

2 files changed

+27
-1
lines changed

2 files changed

+27
-1
lines changed

allure-java-commons/src/main/java/io/qameta/allure/util/NamingUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static String processNameTemplate(final String template, final Map<String
3636
while (matcher.find()) {
3737
final String pattern = matcher.group(1);
3838
final String replacement = processPattern(pattern, params).orElseGet(matcher::group);
39-
matcher.appendReplacement(sb, replacement);
39+
matcher.appendReplacement(sb, Matcher.quoteReplacement(replacement));
4040
}
4141
matcher.appendTail(sb);
4242
return sb.toString();

allure-java-commons/src/test/java/io/qameta/allure/StepsTest.java

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,34 @@ public void shouldTransformPlaceholdersToPropertyValues() {
5555
+ " \"1111222233334444\", \"{missing}\", true");
5656
}
5757

58+
@Test
59+
public void shouldNotFailOnSpecialSymbolsInNameString() {
60+
final AllureResultsWriterStub results = new AllureResultsWriterStub();
61+
final AllureLifecycle lifecycle = new AllureLifecycle(results);
62+
StepsAspects.setLifecycle(lifecycle);
63+
64+
final String uuid = UUID.randomUUID().toString();
65+
final TestResult result = new TestResult().withUuid(uuid);
66+
lifecycle.scheduleTestCase(result);
67+
lifecycle.startTestCase(uuid);
68+
69+
final String parameter = "$abc";
70+
checkData(parameter);
71+
72+
lifecycle.stopTestCase(uuid);
73+
lifecycle.writeTestCase(uuid);
74+
assertThat(results.getTestResults())
75+
.flatExtracting(TestResult::getSteps)
76+
.extracting(StepResult::getName)
77+
.containsExactly("TestData = $abc");
78+
}
79+
5880
@Step("\"{user.emails.address}\", \"{user.emails}\", \"{user.emails.attachments}\", \"{user.password}\", \"{}\"," +
5981
" \"{user.card.number}\", \"{missing}\", {staySignedIn}")
6082
private void loginWith(final DummyUser user, final boolean staySignedIn) {
6183
}
84+
85+
@Step("TestData = {value}")
86+
public void checkData(final String value) {
87+
}
6288
}

0 commit comments

Comments
 (0)