void (CucumberJvmTestCase testCase) { String uri = testCase.getUri(); if (currentFilePath == null) { outCommand(TEMPLATE_TEST_SUITE_STARTED, getCurrentTime(), uri, getFeatureFileDescription(uri)); } else if (!uri.equals(currentFilePath)) { closeCurrentScenarioOutline(); outCommand(TEMPLATE_TEST_SUITE_FINISHED, getCurrentTime(), getFeatureFileDescription(currentFilePath)); outCommand(TEMPLATE_TEST_SUITE_STARTED, getCurrentTime(), uri, getFeatureFileDescription(uri)); } outCommand(TEMPLATE_SCENARIO_STARTED, getCurrentTime()); if (testCase.isScenarioOutline()) { int mainScenarioLine = testCase.getScenarioOutlineLine(); if (currentScenarioOutlineLine != mainScenarioLine || currentFilePath == null || !currentFilePath.equals(uri)) { closeCurrentScenarioOutline(); currentScenarioOutlineLine = mainScenarioLine; currentScenarioOutlineName = "Scenario Outline: " + testCase.getScenarioName(); outCommand(TEMPLATE_TEST_SUITE_STARTED, getCurrentTime(), uri + ":" + currentScenarioOutlineLine, currentScenarioOutlineName); outCommand(TEMPLATE_TEST_SUITE_STARTED, getCurrentTime(), "", EXAMPLES_CAPTION); } } else { closeCurrentScenarioOutline(); } currentFilePath = uri; outCommand(TEMPLATE_TEST_SUITE_STARTED, getCurrentTime(), uri + ":" + testCase.getLine(), getScenarioName(testCase)); }