done method

  1. @override
void done(
  1. Object? status
)
override

Implementation

@override
void done(Object? status) {
  _basicFormatter.done(status);

  if (status == currentFeature) {
    out(TEMPLATE_TEST_SUITE_FINISHED,
        [getCurrentTime(), _getFeatureName(currentFeature!)]);
  } else if (status is StepStatus) {
    StepStatus ss = status;
    if (ss.failed) {
      out(TEMPLATE_TEST_FAILED, [
        getCurrentTime(),
        _location(ss.step!.location),
        ss.failure!.error.toString(),
        ss.decodedVerbiage,
        ''
      ]);
    } else if (ss.skipped) {
      out(TEMPLATE_TEST_PENDING, [ss.decodedVerbiage, getCurrentTime()]);
    }

    out(TEMPLATE_TEST_FINISHED, [
      getCurrentTime(),
      ss.duration.inSeconds.toString(),
      ss.decodedVerbiage
    ]);
  } else if (status is GherkinTable) {
    out(TEMPLATE_TEST_SUITE_FINISHED, [getCurrentTime(), "Examples:"]);
    out(TEMPLATE_SCENARIO_FINISHED, [getCurrentTime()]);
  } else if (status is ScenarioStatus) {
    ScenarioStatus scenario = status;
    if (scenario.failed) {
      out(TEMPLATE_SCENARIO_FAILED, [getCurrentTime()]);
    }
    out(TEMPLATE_TEST_SUITE_FINISHED,
        [getCurrentTime(), _getScenarioName(scenario)]);

    out(TEMPLATE_SCENARIO_FINISHED, [getCurrentTime()]);
  }
}