/** * Generate statement representation * * @param stmt - Cucumber statement * @param prefix - substring to be prepended at the beginning (optional) * @param infix - substring to be inserted between keyword and name * @param suffix - substring to be appended at the end (optional) * @return transformed string */ public static String buildStatementName(BasicStatement stmt, String prefix, String infix, String suffix) { return (prefix == null ? "" : prefix) + stmt.getKeyword() + infix + stmt.getName() + (suffix == null ? "" : suffix); }
public Range getLineRange() { int first; if (getComments().size() > 0) { first = getComments().get(0).getLine(); } else { first = getFirstNonCommentLine(); } return new Range(first, getLine()); }
private void replayEvents(List<BasicStatement> events) { for (BasicStatement event : events) { event.replay(formatter); } events.clear(); }
private void publishResult(Result result, BasicStatement stmt) { Status status = getStatus(result); statuses.add(status); metadataApi.sendTestStepResult(uri, stmt.getLine() + 1, status); String errorMessage = result.getErrorMessage(); if (errorMessage != null) { metadataApi.sendStackTrace(uri, stmt.getLine() + 1, errorMessage); } }
@Override public Range getLineRange() { Range range = super.getLineRange(); if (getRows() != null) { range = new Range(range.getFirst(), getRows().get(getRows().size() - 1).getLine()); } else if (getDocString() != null) { range = new Range(range.getFirst(), getDocString().getLineRange().getLast()); } return range; }
private void calculateLocationIndentations() { int[] lineWidths = new int[steps.size() + 1]; int i = 0; List<BasicStatement> statements = new ArrayList<BasicStatement>(); statements.add(statement); statements.addAll(steps); int maxLineWidth = 0; for (BasicStatement statement : statements) { int stepWidth = statement.getKeyword().length() + statement.getName().length(); lineWidths[i++] = stepWidth; maxLineWidth = Math.max(maxLineWidth, stepWidth); } for (int lineWidth : lineWidths) { indentations.add(maxLineWidth - lineWidth); } }
public void parse(String src) { List<Map> featureHashes = gson.fromJson(new StringReader(src), List.class); for (Map o : featureHashes) { formatter.uri(getString(o, "uri")); new Feature(comments(o), tags(o), keyword(o), name(o), description(o), line(o), id(o)).replay(formatter); for (Map featureElement : (List<Map>) getList(o, "elements")) { featureElement(featureElement).replay(formatter); for (Map hook : (List<Map>) getList(featureElement, "before")) { before(hook); } for (Map step : (List<Map>) getList(featureElement, "steps")) { step(step); } for (Map hook : (List<Map>) getList(featureElement, "after")) { after(hook); } for (Map eo : (List<Map>) getList(featureElement, "examples")) { new Examples(comments(eo), tags(eo), keyword(eo), name(eo), description(eo), line(eo), id(eo), examplesTableRows(getList(eo, "rows"))).replay(formatter); } } formatter.eof(); } }