Skip to content

Commit 36c7418

Browse files
committed
closes #393 Add (manual) scroll to each failed step
1 parent a72cd73 commit 36c7418

9 files changed

Lines changed: 26 additions & 27 deletions

File tree

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,9 @@ public ExtentTest createNode(Class<? extends IGherkinFormatterModel> type, Strin
238238
* @return {@link ExtentTest}
239239
*/
240240
public ExtentTest createNode(GherkinKeyword gherkinKeyword, String name, String description) {
241+
if (gherkinKeyword == null) {
242+
return createNode(name, description);
243+
}
241244
return createNode(gherkinKeyword.getKeyword().getClass(), name, description);
242245
}
243246

src/main/java/com/aventstack/extentreports/append/JsonDeserializer.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
public class JsonDeserializer {
1616
private File f;
1717

18-
public JsonDeserializer(File f) {
18+
public JsonDeserializer(final File f) {
1919
this.f = f;
2020
}
2121

@@ -25,8 +25,7 @@ public List<Test> deserialize() throws IOException {
2525
.withScreenCaptureTypeAdapter()
2626
.build();
2727
String json = new String(Files.readAllBytes(f.toPath()));
28-
Type t = new TypeToken<ArrayList<Test>>() {
29-
}.getType();
28+
Type t = new TypeToken<ArrayList<Test>>(){}.getType();
3029
List<Test> tests = gson.fromJson(json, t);
3130
return tests;
3231
}

src/main/java/com/aventstack/extentreports/append/RawEntityConverter.java

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,15 @@
1616
public class RawEntityConverter {
1717
private final ExtentReports extent;
1818

19-
public RawEntityConverter(ExtentReports extent) {
19+
public RawEntityConverter(final ExtentReports extent) {
2020
this.extent = extent;
2121
}
2222

23-
public void convertAndApply(File jsonFile) throws IOException {
24-
if (!jsonFile.exists())
23+
public void convertAndApply(final File jsonFile) throws IOException {
24+
if (!jsonFile.exists()) {
2525
return;
26+
}
27+
2628
extent.setReportUsesManualConfiguration(true);
2729
List<Test> tests = new JsonDeserializer(jsonFile).deserialize();
2830
for (Test test : tests) {
@@ -64,12 +66,13 @@ else if (log.hasMedia())
6466

6567
// handle nodes
6668
for (Test node : test.getChildren()) {
67-
ExtentTest extentNode = null;
68-
if (node.getBddType() == null)
69+
ExtentTest extentNode;
70+
if (!node.isBDD()) {
6971
extentNode = extentTest.createNode(node.getName(), node.getDescription());
70-
else
71-
extentNode = extentTest.createNode(new GherkinKeyword(node.getBddType().getSimpleName()), node.getName(),
72-
node.getDescription());
72+
} else {
73+
GherkinKeyword gk = new GherkinKeyword(node.getBddType().getSimpleName());
74+
extentNode = extentTest.createNode(gk, node.getName(), node.getDescription());
75+
}
7376
addMedia(node, extentNode);
7477
createDomain(node, extentNode);
7578
}
@@ -82,8 +85,7 @@ private void addMedia(Log log, ExtentTest extentTest, Throwable ex) {
8285
MediaEntityBuilder.createScreenCaptureFromPath(m.getPath()).build());
8386
} else if (((ScreenCapture) m).getBase64() != null) {
8487
extentTest.log(log.getStatus(), ex,
85-
MediaEntityBuilder.createScreenCaptureFromBase64String(((ScreenCapture) m).getBase64())
86-
.build());
88+
MediaEntityBuilder.createScreenCaptureFromBase64String(((ScreenCapture) m).getBase64()).build());
8789
}
8890
}
8991

src/main/java/com/aventstack/extentreports/append/ScreenCaptureTypeAdapter.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
public class ScreenCaptureTypeAdapter extends TypeAdapter<Media> {
1313

1414
@Override
15-
public void write(JsonWriter out, Media value) throws IOException {
16-
}
15+
public void write(JsonWriter out, Media value) throws IOException { }
1716

1817
@Override
1918
public Media read(JsonReader reader) throws IOException {

src/main/java/com/aventstack/extentreports/config/external/CaseInsensitiveEnumTypeAdapterFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public <T> TypeAdapter<T> create(Gson gson, TypeToken<T> type) {
2121
return null;
2222
}
2323

24-
final Map<String, T> lowercaseToConstant = new HashMap<String, T>();
24+
final Map<String, T> lowercaseToConstant = new HashMap<>();
2525
for (T constant : rawType.getEnumConstants()) {
2626
lowercaseToConstant.put(toLowercase(constant), constant);
2727
}

src/main/java/com/aventstack/extentreports/config/external/JsonConfigLoader.java

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,7 @@ public JsonConfigLoader(T instance, String json) {
3333

3434
private void init(T instance) {
3535
this.instance = instance;
36-
creator = new InstanceCreator<T>() {
37-
@Override
38-
public T createInstance(Type type) {
39-
return instance;
40-
}
41-
};
36+
creator = type -> instance;
4237
}
4338

4439
@SuppressWarnings("unchecked")

src/main/java/com/aventstack/extentreports/config/external/XmlConfigLoader.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class XmlConfigLoader<T> implements ConfigLoadable<T> {
2929
private InputStream stream;
3030
private T instance;
3131

32-
public XmlConfigLoader(T instance, File f) throws FileNotFoundException {
32+
public XmlConfigLoader(T instance, File f) {
3333
createStream(f);
3434
this.instance = instance;
3535
}

src/main/resources/com/aventstack/extentreports/templates/spark/partials/head.ftl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
<#assign
33
resourceCDN=config.resourceCDN
44
cdnURI="cdn.jsdelivr.net/gh/extent-framework/extent-github-cdn@"
5-
csscommit="d6562a79075e061305ccfdb82f01e5e195e2d307"
6-
jscommit="d6562a79075e061305ccfdb82f01e5e195e2d307"
5+
csscommit="ce8b10435bcbae260c334c0d0c6b61d2c19b6168"
6+
jscommit="ce8b10435bcbae260c334c0d0c6b61d2c19b6168"
77
iconcommit="b00a2d0486596e73dd7326beacf352c639623a0e">
88
<#if resourceCDN=="extentreports">
99
<#assign

src/main/resources/com/aventstack/extentreports/templates/spark/partials/test.ftl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,9 @@
7070
<span class='badge badge-danger'>${test.endTime?string("MM.dd.yyyy")} ${test.endTime?time?string}</span>
7171
<span class='badge badge-default'>${test.timeTakenPretty()}</span>
7272
&middot; <span class='uri-anchor badge badge-default'>#test-id=${test.getId()}</span>
73-
<span class='badge badge-default pointer float-right ml-1 et'><i class="fa fa-chevron-down"></i></span>
74-
<span class='badge badge-default pointer float-right ct'><i class="fa fa-chevron-up"></i></span>
73+
<span title='Skip to the next failed step' class='badge badge-danger pointer float-right ne ml-1'><i class="fa fa-fast-forward"></i></span>
74+
<span title='Collapse all nodes' class='badge badge-default pointer float-right ct ml-1'><i class="fa fa-compress"></i></span>
75+
<span title='Expand all nodes' class='badge badge-default pointer float-right et'><i class="fa fa-expand"></i></span>
7576
</div>
7677
<#if test.hasAttributes()>
7778
<div class="m-t-15"><@attributes test=test /></div>

0 commit comments

Comments
 (0)