Skip to content

Commit db7d310

Browse files
authored
Bdd asterisk (#4)
* initial setup for supporting asterisk ("*") symbol instead of standard GherkinKeyword * Update pom.xml * Update src/main/java/com/aventstack/extentreports/GherkinKeyword.java
1 parent bb2b897 commit db7d310

File tree

14 files changed

+118
-10
lines changed

14 files changed

+118
-10
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>com.aventstack</groupId>
55
<artifactId>extentreports</artifactId>
6-
<version>4.0.0</version>
6+
<version>4.0.1-SNAPSHOT</version>
77
<name>extentreports</name>
88
<url>www.extentreports.com</url>
99
<description>Extent Framework</description>

src/main/java/com/aventstack/extentreports/GherkinKeyword.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.aventstack.extentreports.exceptions.GherkinKeywordNotFoundException;
1010
import com.aventstack.extentreports.gherkin.GherkinDialect;
1111
import com.aventstack.extentreports.gherkin.GherkinDialectProvider;
12+
import com.aventstack.extentreports.gherkin.model.Asterisk;
1213
import com.aventstack.extentreports.gherkin.model.IGherkinFormatterModel;
1314

1415
import freemarker.template.utility.StringUtil;
@@ -44,13 +45,14 @@ public class GherkinKeyword {
4445
private Class<IGherkinFormatterModel> clazz = IGherkinFormatterModel.class;
4546
private IGherkinFormatterModel keywordClazz;
4647

47-
public GherkinKeyword(String keyword) throws ClassNotFoundException {
48-
GherkinDialect dialect = null;
48+
public GherkinKeyword(String keyword) throws ClassNotFoundException {
49+
GherkinDialect dialect = null;
4950
String apiKeyword = StringUtil.capitalize(keyword.trim());
5051
String refPath = clazz.getPackage().getName();
5152

5253
try {
53-
dialect = GherkinDialectProvider.getDialect();
54+
apiKeyword = apiKeyword.equals("*") ? Asterisk.class.getSimpleName() : apiKeyword;
55+
dialect = GherkinDialectProvider.getDialect();
5456
if (dialect != null && !dialect.getLanguage().equalsIgnoreCase(GherkinDialectProvider.getDefaultLanguage())) {
5557
apiKeyword = null;
5658
Map<String, List<String>> keywords = dialect.getKeywords();
@@ -67,10 +69,11 @@ public GherkinKeyword(String keyword) throws ClassNotFoundException {
6769
}
6870

6971
if (apiKeyword == null) {
70-
throw new GherkinKeywordNotFoundException("Keyword " + keyword + " not available");
72+
throw new GherkinKeywordNotFoundException("Keyword " + apiKeyword + " cannot be null");
7173
}
7274

73-
Class<?> c = Class.forName(refPath + "." + apiKeyword.replace(" ", ""));
75+
String clazzName = refPath + "." + apiKeyword.replace(" ", "");
76+
Class<?> c = Class.forName(clazzName);
7477
keywordClazz = (IGherkinFormatterModel) c.newInstance();
7578
} catch (InstantiationException | IllegalAccessException e) {
7679
logger.log(Level.SEVERE, "", e);

src/main/java/com/aventstack/extentreports/gherkin/model/And.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class And
77

88
private static final long serialVersionUID = 8543289653944756660L;
99

10+
public static String getGherkinName() {
11+
return "And";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.aventstack.extentreports.gherkin.model;
2+
3+
import java.io.Serializable;
4+
5+
public class Asterisk
6+
implements IGherkinFormatterModel, Serializable {
7+
8+
private static final long serialVersionUID = 7251419811428200133L;
9+
10+
public static String getGherkinName() {
11+
return "*";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
19+
}

src/main/java/com/aventstack/extentreports/gherkin/model/Background.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class Background
77

88
private static final long serialVersionUID = -955371501488725151L;
99

10+
public static String getGherkinName() {
11+
return "Background";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}

src/main/java/com/aventstack/extentreports/gherkin/model/But.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,14 @@ public class But
66
implements IGherkinFormatterModel, Serializable {
77

88
private static final long serialVersionUID = 3420514631996827220L;
9+
10+
public static String getGherkinName() {
11+
return "But";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
919
}

src/main/java/com/aventstack/extentreports/gherkin/model/Feature.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class Feature
77

88
private static final long serialVersionUID = -4719215211721789414L;
99

10+
public static String getGherkinName() {
11+
return "Feature";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}

src/main/java/com/aventstack/extentreports/gherkin/model/Given.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class Given
77

88
private static final long serialVersionUID = 939197985263690070L;
99

10+
public static String getGherkinName() {
11+
return "Given";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}

src/main/java/com/aventstack/extentreports/gherkin/model/Scenario.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class Scenario
77

88
private static final long serialVersionUID = 7401124129196617280L;
99

10+
public static String getGherkinName() {
11+
return "Scenario";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}

src/main/java/com/aventstack/extentreports/gherkin/model/ScenarioOutline.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,13 @@ public class ScenarioOutline
77

88
private static final long serialVersionUID = -2058398543903906031L;
99

10+
public static String getGherkinName() {
11+
return "Scenario Outline";
12+
}
13+
14+
@Override
15+
public String toString() {
16+
return getGherkinName();
17+
}
18+
1019
}

0 commit comments

Comments
 (0)