@cucumber/cucumber 7.0.0 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (149) hide show
  1. package/CHANGELOG.md +63 -17
  2. package/README.md +8 -11
  3. package/lib/cli/argv_parser.js.map +1 -1
  4. package/lib/cli/configuration_builder.js +3 -3
  5. package/lib/cli/configuration_builder.js.map +1 -1
  6. package/lib/cli/helpers.js +40 -18
  7. package/lib/cli/helpers.js.map +1 -1
  8. package/lib/cli/i18n.js.map +1 -1
  9. package/lib/cli/index.js +40 -23
  10. package/lib/cli/index.js.map +1 -1
  11. package/lib/cli/install_validator.js.map +1 -1
  12. package/lib/cli/option_splitter.js.map +1 -1
  13. package/lib/cli/profile_loader.d.ts +1 -2
  14. package/lib/cli/profile_loader.js.map +1 -1
  15. package/lib/cli/publish_banner.js.map +1 -1
  16. package/lib/cli/run.js.map +1 -1
  17. package/lib/formatter/builder.js.map +1 -1
  18. package/lib/formatter/get_color_fns.d.ts +2 -2
  19. package/lib/formatter/get_color_fns.js +7 -8
  20. package/lib/formatter/get_color_fns.js.map +1 -1
  21. package/lib/formatter/helpers/event_data_collector.d.ts +14 -17
  22. package/lib/formatter/helpers/event_data_collector.js +14 -8
  23. package/lib/formatter/helpers/event_data_collector.js.map +1 -1
  24. package/lib/formatter/helpers/gherkin_document_parser.d.ts +5 -6
  25. package/lib/formatter/helpers/gherkin_document_parser.js +1 -4
  26. package/lib/formatter/helpers/gherkin_document_parser.js.map +1 -1
  27. package/lib/formatter/helpers/index.js.map +1 -1
  28. package/lib/formatter/helpers/issue_helpers.d.ts +6 -6
  29. package/lib/formatter/helpers/issue_helpers.js +5 -6
  30. package/lib/formatter/helpers/issue_helpers.js.map +1 -1
  31. package/lib/formatter/helpers/keyword_type.js.map +1 -1
  32. package/lib/formatter/helpers/location_helpers.js.map +1 -1
  33. package/lib/formatter/helpers/pickle_parser.d.ts +9 -10
  34. package/lib/formatter/helpers/pickle_parser.js.map +1 -1
  35. package/lib/formatter/helpers/step_argument_formatter.d.ts +2 -2
  36. package/lib/formatter/helpers/step_argument_formatter.js.map +1 -1
  37. package/lib/formatter/helpers/summary_helpers.d.ts +2 -2
  38. package/lib/formatter/helpers/summary_helpers.js +32 -14
  39. package/lib/formatter/helpers/summary_helpers.js.map +1 -1
  40. package/lib/formatter/helpers/test_case_attempt_formatter.js +33 -14
  41. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +1 -1
  42. package/lib/formatter/helpers/test_case_attempt_parser.d.ts +5 -5
  43. package/lib/formatter/helpers/test_case_attempt_parser.js +27 -9
  44. package/lib/formatter/helpers/test_case_attempt_parser.js.map +1 -1
  45. package/lib/formatter/helpers/usage_helpers/index.d.ts +3 -3
  46. package/lib/formatter/helpers/usage_helpers/index.js +30 -13
  47. package/lib/formatter/helpers/usage_helpers/index.js.map +1 -1
  48. package/lib/formatter/html_formatter.js +2 -2
  49. package/lib/formatter/html_formatter.js.map +1 -1
  50. package/lib/formatter/http_stream.d.ts +8 -9
  51. package/lib/formatter/http_stream.js +58 -54
  52. package/lib/formatter/http_stream.js.map +1 -1
  53. package/lib/formatter/index.js.map +1 -1
  54. package/lib/formatter/json_formatter.d.ts +21 -27
  55. package/lib/formatter/json_formatter.js +50 -23
  56. package/lib/formatter/json_formatter.js.map +1 -1
  57. package/lib/formatter/message_formatter.js +1 -1
  58. package/lib/formatter/message_formatter.js.map +1 -1
  59. package/lib/formatter/progress_bar_formatter.d.ts +6 -6
  60. package/lib/formatter/progress_bar_formatter.js +3 -3
  61. package/lib/formatter/progress_bar_formatter.js.map +1 -1
  62. package/lib/formatter/progress_formatter.d.ts +2 -2
  63. package/lib/formatter/progress_formatter.js +29 -10
  64. package/lib/formatter/progress_formatter.js.map +1 -1
  65. package/lib/formatter/rerun_formatter.js +22 -4
  66. package/lib/formatter/rerun_formatter.js.map +1 -1
  67. package/lib/formatter/snippets_formatter.js +22 -3
  68. package/lib/formatter/snippets_formatter.js.map +1 -1
  69. package/lib/formatter/step_definition_snippet_builder/index.d.ts +3 -3
  70. package/lib/formatter/step_definition_snippet_builder/index.js +1 -1
  71. package/lib/formatter/step_definition_snippet_builder/index.js.map +1 -1
  72. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +1 -1
  73. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +1 -1
  74. package/lib/formatter/summary_formatter.d.ts +2 -2
  75. package/lib/formatter/summary_formatter.js.map +1 -1
  76. package/lib/formatter/usage_formatter.js +22 -3
  77. package/lib/formatter/usage_formatter.js.map +1 -1
  78. package/lib/formatter/usage_json_formatter.js.map +1 -1
  79. package/lib/index.d.ts +14 -12
  80. package/lib/index.js +3 -3
  81. package/lib/index.js.map +1 -1
  82. package/lib/models/data_table.d.ts +3 -4
  83. package/lib/models/data_table.js.map +1 -1
  84. package/lib/models/definition.d.ts +2 -2
  85. package/lib/models/definition.js.map +1 -1
  86. package/lib/models/step_definition.js.map +1 -1
  87. package/lib/models/test_case_hook_definition.d.ts +2 -2
  88. package/lib/models/test_case_hook_definition.js.map +1 -1
  89. package/lib/models/test_run_hook_definition.js.map +1 -1
  90. package/lib/models/test_step_hook_definition.d.ts +2 -2
  91. package/lib/models/test_step_hook_definition.js.map +1 -1
  92. package/lib/pickle_filter.d.ts +9 -11
  93. package/lib/pickle_filter.js +4 -4
  94. package/lib/pickle_filter.js.map +1 -1
  95. package/lib/runtime/assemble_test_cases.d.ts +13 -0
  96. package/lib/runtime/assemble_test_cases.js +88 -0
  97. package/lib/runtime/assemble_test_cases.js.map +1 -0
  98. package/lib/runtime/attachment_manager/index.d.ts +6 -6
  99. package/lib/runtime/attachment_manager/index.js +33 -6
  100. package/lib/runtime/attachment_manager/index.js.map +1 -1
  101. package/lib/runtime/helpers.d.ts +2 -2
  102. package/lib/runtime/helpers.js.map +1 -1
  103. package/lib/runtime/index.d.ts +4 -3
  104. package/lib/runtime/index.js +31 -13
  105. package/lib/runtime/index.js.map +1 -1
  106. package/lib/runtime/parallel/command_types.d.ts +10 -9
  107. package/lib/runtime/parallel/command_types.js.map +1 -1
  108. package/lib/runtime/parallel/coordinator.d.ts +10 -9
  109. package/lib/runtime/parallel/coordinator.js +54 -43
  110. package/lib/runtime/parallel/coordinator.js.map +1 -1
  111. package/lib/runtime/parallel/run_worker.js.map +1 -1
  112. package/lib/runtime/parallel/worker.d.ts +2 -2
  113. package/lib/runtime/parallel/worker.js +8 -14
  114. package/lib/runtime/parallel/worker.js.map +1 -1
  115. package/lib/runtime/step_runner.d.ts +3 -3
  116. package/lib/runtime/step_runner.js +16 -12
  117. package/lib/runtime/step_runner.js.map +1 -1
  118. package/lib/runtime/stopwatch.d.ts +4 -4
  119. package/lib/runtime/stopwatch.js +21 -2
  120. package/lib/runtime/stopwatch.js.map +1 -1
  121. package/lib/runtime/{pickle_runner.d.ts → test_case_runner.d.ts} +16 -32
  122. package/lib/runtime/{pickle_runner.js → test_case_runner.js} +104 -147
  123. package/lib/runtime/test_case_runner.js.map +1 -0
  124. package/lib/stack_trace_filter.js.map +1 -1
  125. package/lib/step_arguments.d.ts +4 -4
  126. package/lib/step_arguments.js.map +1 -1
  127. package/lib/support_code_library_builder/build_helpers.js.map +1 -1
  128. package/lib/support_code_library_builder/finalize_helpers.js.map +1 -1
  129. package/lib/support_code_library_builder/index.d.ts +9 -7
  130. package/lib/support_code_library_builder/index.js +10 -10
  131. package/lib/support_code_library_builder/index.js.map +1 -1
  132. package/lib/support_code_library_builder/types.d.ts +20 -22
  133. package/lib/support_code_library_builder/types.js.map +1 -1
  134. package/lib/support_code_library_builder/validate_arguments.js.map +1 -1
  135. package/lib/support_code_library_builder/world.d.ts +7 -1
  136. package/lib/support_code_library_builder/world.js.map +1 -1
  137. package/lib/time.d.ts +2 -10
  138. package/lib/time.js +24 -48
  139. package/lib/time.js.map +1 -1
  140. package/lib/types/index.js.map +1 -1
  141. package/lib/uncaught_exception_manager.js +2 -12
  142. package/lib/uncaught_exception_manager.js.map +1 -1
  143. package/lib/user_code_runner.js.map +1 -1
  144. package/lib/value_checker.js.map +1 -1
  145. package/package.json +49 -46
  146. package/lib/runtime/pickle_runner.js.map +0 -1
  147. package/lib/status.d.ts +0 -3
  148. package/lib/status.js +0 -5
  149. package/lib/status.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { EventDataCollector } from '../formatter/helpers'\nimport {\n emitMetaMessage,\n emitSupportCodeMessages,\n getExpandedArgv,\n parseGherkinMessageStream,\n} from './helpers'\nimport { validateInstall } from './install_validator'\nimport * as I18n from './i18n'\nimport ConfigurationBuilder, {\n IConfiguration,\n IConfigurationFormat,\n} from './configuration_builder'\nimport { EventEmitter } from 'events'\nimport FormatterBuilder from '../formatter/builder'\nimport fs from 'mz/fs'\nimport path from 'path'\nimport PickleFilter from '../pickle_filter'\nimport bluebird from 'bluebird'\nimport ParallelRuntimeCoordinator from '../runtime/parallel/coordinator'\nimport Runtime from '../runtime'\nimport supportCodeLibraryBuilder from '../support_code_library_builder'\nimport { IdGenerator } from '@cucumber/messages'\nimport { IFormatterStream } from '../formatter'\nimport { WriteStream as TtyWriteStream } from 'tty'\nimport { doesNotHaveValue } from '../value_checker'\nimport { GherkinStreams } from '@cucumber/gherkin-streams'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport { IParsedArgvFormatOptions } from './argv_parser'\nimport HttpStream from '../formatter/http_stream'\nimport { Writable } from 'stream'\n\nconst { incrementing, uuid } = IdGenerator\n\nexport interface ICliRunResult {\n shouldExitImmediately: boolean\n success: boolean\n}\n\ninterface IInitializeFormattersRequest {\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n formatOptions: IParsedArgvFormatOptions\n formats: IConfigurationFormat[]\n supportCodeLibrary: ISupportCodeLibrary\n}\n\ninterface IGetSupportCodeLibraryRequest {\n newId: IdGenerator.NewId\n supportCodeRequiredModules: string[]\n supportCodePaths: string[]\n}\n\nexport default class Cli {\n private readonly argv: string[]\n private readonly cwd: string\n private readonly stdout: IFormatterStream\n\n constructor({\n argv,\n cwd,\n stdout,\n }: {\n argv: string[]\n cwd: string\n stdout: IFormatterStream\n }) {\n this.argv = argv\n this.cwd = cwd\n this.stdout = stdout\n }\n\n async getConfiguration(): Promise<IConfiguration> {\n const fullArgv = await getExpandedArgv({\n argv: this.argv,\n cwd: this.cwd,\n })\n return await ConfigurationBuilder.build({\n argv: fullArgv,\n cwd: this.cwd,\n })\n }\n\n async initializeFormatters({\n eventBroadcaster,\n eventDataCollector,\n formatOptions,\n formats,\n supportCodeLibrary,\n }: IInitializeFormattersRequest): Promise<() => Promise<void>> {\n const formatters = await bluebird.map(\n formats,\n async ({ type, outputTo }) => {\n let stream: IFormatterStream = this.stdout\n if (outputTo !== '') {\n if (outputTo.match(/^https?:\\/\\//) !== null) {\n const headers: { [key: string]: string } = {}\n if (process.env.CUCUMBER_PUBLISH_TOKEN !== undefined) {\n headers.Authorization = `Bearer ${process.env.CUCUMBER_PUBLISH_TOKEN}`\n }\n\n stream = new HttpStream(outputTo, 'GET', headers)\n const readerStream = new Writable({\n objectMode: true,\n write: function (responseBody: string, encoding, writeCallback) {\n console.error(responseBody)\n writeCallback()\n },\n })\n stream.pipe(readerStream)\n } else {\n const fd = await fs.open(path.resolve(this.cwd, outputTo), 'w')\n stream = fs.createWriteStream(null, { fd })\n }\n }\n\n stream.on('error', (error) => {\n console.error(error.message)\n process.exit(1)\n })\n\n const typeOptions = {\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n log: stream.write.bind(stream),\n parsedArgvOptions: formatOptions,\n stream,\n cleanup:\n stream === this.stdout\n ? async () => await Promise.resolve()\n : bluebird.promisify(stream.end.bind(stream)),\n supportCodeLibrary,\n }\n if (doesNotHaveValue(formatOptions.colorsEnabled)) {\n typeOptions.parsedArgvOptions.colorsEnabled = (\n stream as TtyWriteStream\n ).isTTY\n }\n if (type === 'progress-bar' && !(stream as TtyWriteStream).isTTY) {\n const outputToName = outputTo === '' ? 'stdout' : outputTo\n console.warn(\n `Cannot use 'progress-bar' formatter for output to '${outputToName}' as not a TTY. Switching to 'progress' formatter.`\n )\n type = 'progress'\n }\n return FormatterBuilder.build(type, typeOptions)\n }\n )\n return async function () {\n await bluebird.each(formatters, async (formatter) => {\n await formatter.finished()\n })\n }\n }\n\n getSupportCodeLibrary({\n newId,\n supportCodeRequiredModules,\n supportCodePaths,\n }: IGetSupportCodeLibraryRequest): ISupportCodeLibrary {\n supportCodeRequiredModules.map((module) => require(module))\n supportCodeLibraryBuilder.reset(this.cwd, newId)\n supportCodePaths.forEach((codePath) => {\n try {\n require(codePath)\n } catch (e) {\n console.error(e.stack)\n console.error('codepath: ' + codePath)\n }\n })\n return supportCodeLibraryBuilder.finalize()\n }\n\n async run(): Promise<ICliRunResult> {\n await validateInstall(this.cwd)\n const configuration = await this.getConfiguration()\n if (configuration.listI18nLanguages) {\n this.stdout.write(I18n.getLanguages())\n return { shouldExitImmediately: true, success: true }\n }\n if (configuration.listI18nKeywordsFor !== '') {\n this.stdout.write(I18n.getKeywords(configuration.listI18nKeywordsFor))\n return { shouldExitImmediately: true, success: true }\n }\n const newId =\n configuration.predictableIds && configuration.parallel <= 1\n ? incrementing()\n : uuid()\n const supportCodeLibrary = this.getSupportCodeLibrary({\n newId,\n supportCodePaths: configuration.supportCodePaths,\n supportCodeRequiredModules: configuration.supportCodeRequiredModules,\n })\n const eventBroadcaster = new EventEmitter()\n const eventDataCollector = new EventDataCollector(eventBroadcaster)\n const cleanup = await this.initializeFormatters({\n eventBroadcaster,\n eventDataCollector,\n formatOptions: configuration.formatOptions,\n formats: configuration.formats,\n supportCodeLibrary,\n })\n await emitMetaMessage(eventBroadcaster)\n const gherkinMessageStream = GherkinStreams.fromPaths(\n configuration.featurePaths,\n {\n defaultDialect: configuration.featureDefaultLanguage,\n newId,\n relativeTo: this.cwd,\n }\n )\n let pickleIds: string[] = []\n\n if (configuration.featurePaths.length > 0) {\n pickleIds = await parseGherkinMessageStream({\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n gherkinMessageStream,\n order: configuration.order,\n pickleFilter: new PickleFilter(configuration.pickleFilterOptions),\n })\n }\n emitSupportCodeMessages({\n eventBroadcaster,\n supportCodeLibrary,\n newId,\n })\n let success\n if (configuration.parallel > 1) {\n const parallelRuntimeCoordinator = new ParallelRuntimeCoordinator({\n cwd: this.cwd,\n eventBroadcaster,\n eventDataCollector,\n options: configuration.runtimeOptions,\n newId,\n pickleIds,\n supportCodeLibrary,\n supportCodePaths: configuration.supportCodePaths,\n supportCodeRequiredModules: configuration.supportCodeRequiredModules,\n })\n success = await parallelRuntimeCoordinator.run(configuration.parallel)\n } else {\n const runtime = new Runtime({\n eventBroadcaster,\n eventDataCollector,\n options: configuration.runtimeOptions,\n newId,\n pickleIds,\n supportCodeLibrary,\n })\n success = await runtime.start()\n }\n await cleanup()\n return {\n shouldExitImmediately: configuration.shouldExitImmediately,\n success,\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"install_validator.js","sourceRoot":"","sources":["../../src/cli/install_validator.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAsB;AACtB,gDAAuB;AACvB,sDAA6B;AAC7B,+BAAgC;AAEzB,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,IAAI,WAAW,KAAK,GAAG,EAAE;QACvB,OAAM,CAAC,0BAA0B;KAClC;IACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxD,IAAI,iBAAyB,CAAA;IAC7B,IAAI;QACF,iBAAiB,GAAG,MAAM,gBAAS,CAA+B,iBAAO,CAAC,CACxE,oBAAoB,EACpB;YACE,OAAO,EAAE,GAAG;SACb,CACF,CAAA;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;KACF;IACD,iBAAiB,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACxD,IAAI,iBAAiB,KAAK,mBAAmB,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb;;;;;;uBAMiB,mBAAmB;uBACnB,iBAAiB;OACjC,CACF,CAAA;KACF;AACH,CAAC;AAjCD,0CAiCC"}
1
+ {"version":3,"file":"install_validator.js","sourceRoot":"","sources":["../../src/cli/install_validator.ts"],"names":[],"mappings":";;;;;;AAAA,+CAAsB;AACtB,gDAAuB;AACvB,sDAA6B;AAC7B,+BAAgC;AAEzB,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACpD,IAAI,WAAW,KAAK,GAAG,EAAE;QACvB,OAAM,CAAC,0BAA0B;KAClC;IACD,MAAM,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACxD,IAAI,iBAAyB,CAAA;IAC7B,IAAI;QACF,iBAAiB,GAAG,MAAM,gBAAS,CAA+B,iBAAO,CAAC,CACxE,oBAAoB,EACpB;YACE,OAAO,EAAE,GAAG;SACb,CACF,CAAA;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAA;KACF;IACD,iBAAiB,GAAG,MAAM,YAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAA;IACxD,IAAI,iBAAiB,KAAK,mBAAmB,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb;;;;;;uBAMiB,mBAAmB;uBACnB,iBAAiB;OACjC,CACF,CAAA;KACF;AACH,CAAC;AAjCD,0CAiCC","sourcesContent":["import fs from 'mz/fs'\nimport path from 'path'\nimport resolve from 'resolve'\nimport { promisify } from 'util'\n\nexport async function validateInstall(cwd: string): Promise<void> {\n const projectPath = path.join(__dirname, '..', '..')\n if (projectPath === cwd) {\n return // cucumber testing itself\n }\n const currentCucumberPath = require.resolve(projectPath)\n let localCucumberPath: string\n try {\n localCucumberPath = await promisify<string, resolve.Opts, string>(resolve)(\n '@cucumber/cucumber',\n {\n basedir: cwd,\n }\n )\n } catch (e) {\n throw new Error(\n '`@cucumber/cucumber` module not resolvable. Must be locally installed.'\n )\n }\n localCucumberPath = await fs.realpath(localCucumberPath)\n if (localCucumberPath !== currentCucumberPath) {\n throw new Error(\n `\n You appear to be executing an install of cucumber (most likely a global install)\n that is different from your local install (the one required in your support files).\n For cucumber to work, you need to execute the same install that is required in your support files.\n Please execute the locally installed version to run your tests.\n\n Executed Path: ${currentCucumberPath}\n Local Path: ${localCucumberPath}\n `\n )\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"option_splitter.js","sourceRoot":"","sources":["../../src/cli/option_splitter.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG;IACrB,KAAK,CAAC,MAAc;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;YACtE,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;aAC1C;YAED,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAChB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,kBAAe,cAAc,CAAA"}
1
+ {"version":3,"file":"option_splitter.js","sourceRoot":"","sources":["../../src/cli/option_splitter.ts"],"names":[],"mappings":";;AAAA,MAAM,cAAc,GAAG;IACrB,KAAK,CAAC,MAAc;QAClB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAc,EAAE,IAAY,EAAE,CAAS,EAAE,EAAE;YACtE,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;gBAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;aAC1C;YAED,OAAO,IAAI,CAAA;QACb,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SAChB;QAED,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAED,SAAS,mBAAmB,CAAC,CAAS;IACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACpB,CAAC;AAED,kBAAe,cAAc,CAAA","sourcesContent":["const OptionSplitter = {\n split(option: string): string[] {\n const parts = option.split(/([^A-Z]):(?!\\\\)/)\n\n const result = parts.reduce((memo: string[], part: string, i: number) => {\n if (partNeedsRecombined(i)) {\n memo.push(parts.slice(i, i + 2).join(''))\n }\n\n return memo\n }, [])\n\n if (result.length === 1) {\n result.push('')\n }\n\n return result\n },\n}\n\nfunction partNeedsRecombined(i: number): boolean {\n return i % 2 === 0\n}\n\nexport default OptionSplitter\n"]}
@@ -1,7 +1,6 @@
1
- import { Dictionary } from 'lodash';
2
1
  export default class ProfileLoader {
3
2
  private readonly directory;
4
3
  constructor(directory: string);
5
- getDefinitions(): Promise<Dictionary<string>>;
4
+ getDefinitions(): Promise<Record<string, string>>;
6
5
  getArgv(profiles: string[]): Promise<string[]>;
7
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"profile_loader.js","sourceRoot":"","sources":["../../src/cli/profile_loader.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AACtC,+CAAsB;AACtB,gDAAuB;AACvB,8DAAoC;AACpC,oDAAkE;AAElE,MAAqB,aAAa;IAGhC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAA;SACV;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA,CAAC,yDAAyD;QAC1G,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,mBAAmB,4BAA4B,CAAC,CAAA;SACpE;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,6BAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAC/D,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;SACvB;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,gCAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;aACjD;YACD,OAAO,qBAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,OAAO,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;CACF;AAjCD,gCAiCC"}
1
+ {"version":3,"file":"profile_loader.js","sourceRoot":"","sources":["../../src/cli/profile_loader.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,+CAAsB;AACtB,gDAAuB;AACvB,8DAAoC;AACpC,oDAAkE;AAElE,MAAqB,aAAa;IAGhC,YAAY,SAAiB;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,mBAAmB,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACpE,MAAM,MAAM,GAAG,MAAM,YAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACnD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,EAAE,CAAA;SACV;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA,CAAC,yDAAyD;QAC1G,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,GAAG,mBAAmB,4BAA4B,CAAC,CAAA;SACpE;QACD,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,6BAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAC/D,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAA;SACvB;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,gCAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,sBAAsB,OAAO,EAAE,CAAC,CAAA;aACjD;YACD,OAAO,qBAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAA;QACzC,CAAC,CAAC,CAAA;QACF,OAAO,gBAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;CACF;AAjCD,gCAiCC","sourcesContent":["import _ from 'lodash'\nimport fs from 'mz/fs'\nimport path from 'path'\nimport stringArgv from 'string-argv'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\n\nexport default class ProfileLoader {\n private readonly directory: string\n\n constructor(directory: string) {\n this.directory = directory\n }\n\n async getDefinitions(): Promise<Record<string, string>> {\n const definitionsFilePath = path.join(this.directory, 'cucumber.js')\n const exists = await fs.exists(definitionsFilePath)\n if (!exists) {\n return {}\n }\n const definitions = require(definitionsFilePath) // eslint-disable-line @typescript-eslint/no-var-requires\n if (typeof definitions !== 'object') {\n throw new Error(`${definitionsFilePath} does not export an object`)\n }\n return definitions\n }\n\n async getArgv(profiles: string[]): Promise<string[]> {\n const definitions = await this.getDefinitions()\n if (profiles.length === 0 && doesHaveValue(definitions.default)) {\n profiles = ['default']\n }\n const argvs = profiles.map((profile) => {\n if (doesNotHaveValue(definitions[profile])) {\n throw new Error(`Undefined profile: ${profile}`)\n }\n return stringArgv(definitions[profile])\n })\n return _.flatten(argvs)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"publish_banner.js","sourceRoot":"","sources":["../../src/cli/publish_banner.ts"],"names":[],"mappings":";;;;;AAAA,uDAAgC;AAChC,4DAA8B;AAE9B,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,cAAM,CAAC,SAAS,CAAC,cAAM,CAAC,IAAI,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AAC3E,MAAM,YAAY,GAChB,cAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,GAAG,GAAG,cAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrE,MAAM,oBAAoB,GAAG,iBAAiB,CAC5C,8CAA8C,CAC/C,CAAA;AAED,MAAM,IAAI,GAAG;+CACkC,kBAAkB;;0BAEvC,cAAM,CAAC,IAAI,CAAC,WAAW,CAAC;0BACxB,YAAY;;sBAEhB,oBAAoB;;4CAEE,cAAM,CAAC,IAAI,CAAC,eAAe,CAAC;EACtE,cAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,EAAE,CAAA;AAElE,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAElB,kBAAe,KAAK,CAAC,QAAQ,EAAE,CAAA"}
1
+ {"version":3,"file":"publish_banner.js","sourceRoot":"","sources":["../../src/cli/publish_banner.ts"],"names":[],"mappings":";;;;;AAAA,uDAAgC;AAChC,4DAA8B;AAE9B,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,cAAM,CAAC,SAAS,CAAC,cAAM,CAAC,IAAI,CAAC,cAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE/C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,6BAA6B,CAAC,CAAA;AAC3E,MAAM,YAAY,GAChB,cAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,GAAG,GAAG,cAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;AACrE,MAAM,oBAAoB,GAAG,iBAAiB,CAC5C,8CAA8C,CAC/C,CAAA;AAED,MAAM,IAAI,GAAG;+CACkC,kBAAkB;;0BAEvC,cAAM,CAAC,IAAI,CAAC,WAAW,CAAC;0BACxB,YAAY;;sBAEhB,oBAAoB;;4CAEE,cAAM,CAAC,IAAI,CAAC,eAAe,CAAC;EACtE,cAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,EAAE,CAAA;AAElE,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;IACtB,KAAK,EAAE;QACL,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;CACF,CAAC,CAAA;AAEF,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;AAElB,kBAAe,KAAK,CAAC,QAAQ,EAAE,CAAA","sourcesContent":["import colors from 'colors/safe'\nimport Table from 'cli-table3'\n\nconst underlineBoldCyan = (x: string): string =>\n colors.underline(colors.bold(colors.cyan(x)))\n\nconst formattedReportUrl = underlineBoldCyan('https://reports.cucumber.io')\nconst formattedEnv =\n colors.cyan('CUCUMBER_PUBLISH_ENABLED') + '=' + colors.cyan('true')\nconst formattedMoreInfoUrl = underlineBoldCyan(\n 'https://reports.cucumber.io/docs/cucumber-js'\n)\n\nconst text = `\\\nShare your Cucumber Report with your team at ${formattedReportUrl}\n\nCommand line option: ${colors.cyan('--publish')}\nEnvironment variable: ${formattedEnv}\n\nMore information at ${formattedMoreInfoUrl}\n\nTo disable this message, add this to your ${colors.bold('./cucumber.js')}: \n${colors.bold(\"module.exports = { default: '--publish-quiet' }\")}`\n\nconst table = new Table({\n style: {\n head: [],\n border: ['green'],\n },\n})\n\ntable.push([text])\n\nexport default table.toString()\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":";;;;;AAAA,0CAAuC;AACvC,oDAA2B;AAC3B,sEAA4C;AAE5C,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,iCAAiC;IACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,CAAC,KAAK,CAAC,wBAAa,CAAC,CAAA;AAC9B,CAAC;AAEc,KAAK,UAAU,GAAG;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IAEF,IAAI,MAAqB,CAAA;IACzB,IAAI;QACF,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,aAAa,CAAC,KAAK,CAAC,CAAA;KACrB;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;QAC9D,iCAAiC,EAAE,CAAA;KACpC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,qBAAqB,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KACvB;SAAM;QACL,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;KAC5B;AACH,CAAC;AA1BD,sBA0BC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/cli/run.ts"],"names":[],"mappings":";;;;;AAAA,0CAAuC;AACvC,oDAA2B;AAC3B,sEAA4C;AAE5C,SAAS,aAAa,CAAC,KAAY;IACjC,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,iCAAiC;IACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED,SAAS,iCAAiC;IACxC,OAAO,CAAC,KAAK,CAAC,wBAAa,CAAC,CAAA;AAC9B,CAAC;AAEc,KAAK,UAAU,GAAG;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAA;IACzB,MAAM,GAAG,GAAG,IAAI,UAAG,CAAC;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,GAAG;QACH,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAA;IAEF,IAAI,MAAqB,CAAA;IACzB,IAAI;QACF,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;KACzB;IAAC,OAAO,KAAK,EAAE;QACd,aAAa,CAAC,KAAK,CAAC,CAAA;KACrB;IAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,gBAAgB,EAAE,CAAA;IAC3C,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE;QAC9D,iCAAiC,EAAE,CAAA;KACpC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACvC,IAAI,MAAM,CAAC,qBAAqB,EAAE;QAChC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;KACvB;SAAM;QACL,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAA;KAC5B;AACH,CAAC;AA1BD,sBA0BC","sourcesContent":["import Cli, { ICliRunResult } from './'\nimport VError from 'verror'\nimport publishBanner from './publish_banner'\n\nfunction exitWithError(error: Error): void {\n console.error(VError.fullStack(error)) // eslint-disable-line no-console\n process.exit(1)\n}\n\nfunction displayPublishAdvertisementBanner(): void {\n console.error(publishBanner)\n}\n\nexport default async function run(): Promise<void> {\n const cwd = process.cwd()\n const cli = new Cli({\n argv: process.argv,\n cwd,\n stdout: process.stdout,\n })\n\n let result: ICliRunResult\n try {\n result = await cli.run()\n } catch (error) {\n exitWithError(error)\n }\n\n const config = await cli.getConfiguration()\n if (!config.publishing && !config.suppressPublishAdvertisement) {\n displayPublishAdvertisementBanner()\n }\n\n const exitCode = result.success ? 0 : 1\n if (result.shouldExitImmediately) {\n process.exit(exitCode)\n } else {\n process.exitCode = exitCode\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/formatter/builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/formatter/builder.ts"],"names":[],"mappings":"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","sourcesContent":["import getColorFns from './get_color_fns'\nimport JavascriptSnippetSyntax from './step_definition_snippet_builder/javascript_snippet_syntax'\nimport JsonFormatter from './json_formatter'\nimport MessageFormatter from './message_formatter'\nimport path from 'path'\nimport ProgressBarFormatter from './progress_bar_formatter'\nimport ProgressFormatter from './progress_formatter'\nimport RerunFormatter from './rerun_formatter'\nimport SnippetsFormatter from './snippets_formatter'\nimport StepDefinitionSnippetBuilder from './step_definition_snippet_builder'\nimport SummaryFormatter from './summary_formatter'\nimport UsageFormatter from './usage_formatter'\nimport UsageJsonFormatter from './usage_json_formatter'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport Formatter, { IFormatterCleanupFn, IFormatterLogFn } from '.'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { EventEmitter } from 'events'\nimport EventDataCollector from './helpers/event_data_collector'\nimport { Writable as WritableStream } from 'stream'\nimport { IParsedArgvFormatOptions } from '../cli/argv_parser'\nimport { SnippetInterface } from './step_definition_snippet_builder/snippet_syntax'\nimport HtmlFormatter from './html_formatter'\nimport createRequire from 'create-require'\n\ninterface IGetStepDefinitionSnippetBuilderOptions {\n cwd: string\n snippetInterface?: SnippetInterface\n snippetSyntax?: string\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport interface IBuildOptions {\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n log: IFormatterLogFn\n parsedArgvOptions: IParsedArgvFormatOptions\n stream: WritableStream\n cleanup: IFormatterCleanupFn\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nconst FormatterBuilder = {\n build(type: string, options: IBuildOptions): Formatter {\n const FormatterConstructor = FormatterBuilder.getConstructorByType(\n type,\n options.cwd\n )\n const colorFns = getColorFns(options.parsedArgvOptions.colorsEnabled)\n const snippetBuilder = FormatterBuilder.getStepDefinitionSnippetBuilder({\n cwd: options.cwd,\n snippetInterface: options.parsedArgvOptions.snippetInterface,\n snippetSyntax: options.parsedArgvOptions.snippetSyntax,\n supportCodeLibrary: options.supportCodeLibrary,\n })\n return new FormatterConstructor({\n colorFns,\n snippetBuilder,\n ...options,\n })\n },\n\n getConstructorByType(type: string, cwd: string): typeof Formatter {\n switch (type) {\n case 'json':\n return JsonFormatter\n case 'message':\n return MessageFormatter\n case 'html':\n return HtmlFormatter\n case 'progress':\n return ProgressFormatter\n case 'progress-bar':\n return ProgressBarFormatter\n case 'rerun':\n return RerunFormatter\n case 'snippets':\n return SnippetsFormatter\n case 'summary':\n return SummaryFormatter\n case 'usage':\n return UsageFormatter\n case 'usage-json':\n return UsageJsonFormatter\n default:\n return FormatterBuilder.loadCustomFormatter(type, cwd)\n }\n },\n\n getStepDefinitionSnippetBuilder({\n cwd,\n snippetInterface,\n snippetSyntax,\n supportCodeLibrary,\n }: IGetStepDefinitionSnippetBuilderOptions) {\n if (doesNotHaveValue(snippetInterface)) {\n snippetInterface = SnippetInterface.Synchronous\n }\n let Syntax = JavascriptSnippetSyntax\n if (doesHaveValue(snippetSyntax)) {\n const fullSyntaxPath = path.resolve(cwd, snippetSyntax)\n Syntax = require(fullSyntaxPath) // eslint-disable-line @typescript-eslint/no-var-requires\n }\n return new StepDefinitionSnippetBuilder({\n snippetSyntax: new Syntax(snippetInterface),\n parameterTypeRegistry: supportCodeLibrary.parameterTypeRegistry,\n })\n },\n\n loadCustomFormatter(customFormatterPath: string, cwd: string) {\n const CustomFormatter = createRequire(cwd)(customFormatterPath)\n\n if (typeof CustomFormatter === 'function') {\n return CustomFormatter\n } else if (\n doesHaveValue(CustomFormatter) &&\n typeof CustomFormatter.default === 'function'\n ) {\n return CustomFormatter.default\n }\n throw new Error(\n `Custom formatter (${customFormatterPath}) does not export a function`\n )\n },\n}\n\nexport default FormatterBuilder\n"]}
@@ -1,7 +1,7 @@
1
- import { messages } from '@cucumber/messages';
1
+ import { TestStepResultStatus } from '@cucumber/messages';
2
2
  export declare type IColorFn = (text: string) => string;
3
3
  export interface IColorFns {
4
- forStatus: (status: messages.TestStepFinished.TestStepResult.Status) => IColorFn;
4
+ forStatus: (status: TestStepResultStatus) => IColorFn;
5
5
  location: IColorFn;
6
6
  tag: IColorFn;
7
7
  }
@@ -5,20 +5,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const lodash_1 = __importDefault(require("lodash"));
7
7
  const safe_1 = __importDefault(require("colors/safe"));
8
- const status_1 = __importDefault(require("../status"));
9
8
  safe_1.default.enable();
10
9
  function getColorFns(enabled) {
11
10
  if (enabled) {
12
11
  return {
13
12
  forStatus(status) {
14
13
  return {
15
- [status_1.default.AMBIGUOUS]: safe_1.default.red.bind(safe_1.default),
16
- [status_1.default.FAILED]: safe_1.default.red.bind(safe_1.default),
17
- [status_1.default.PASSED]: safe_1.default.green.bind(safe_1.default),
18
- [status_1.default.PENDING]: safe_1.default.yellow.bind(safe_1.default),
19
- [status_1.default.SKIPPED]: safe_1.default.cyan.bind(safe_1.default),
20
- [status_1.default.UNDEFINED]: safe_1.default.yellow.bind(safe_1.default),
21
- [status_1.default.UNKNOWN]: safe_1.default.yellow.bind(safe_1.default),
14
+ AMBIGUOUS: safe_1.default.red.bind(safe_1.default),
15
+ FAILED: safe_1.default.red.bind(safe_1.default),
16
+ PASSED: safe_1.default.green.bind(safe_1.default),
17
+ PENDING: safe_1.default.yellow.bind(safe_1.default),
18
+ SKIPPED: safe_1.default.cyan.bind(safe_1.default),
19
+ UNDEFINED: safe_1.default.yellow.bind(safe_1.default),
20
+ UNKNOWN: safe_1.default.yellow.bind(safe_1.default),
22
21
  }[status];
23
22
  },
24
23
  location: safe_1.default.gray.bind(safe_1.default),
@@ -1 +1 @@
1
- {"version":3,"file":"get_color_fns.js","sourceRoot":"","sources":["../../src/formatter/get_color_fns.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,uDAAgC;AAChC,uDAA8B;AAG9B,cAAM,CAAC,MAAM,EAAE,CAAA;AAYf,SAAwB,WAAW,CAAC,OAAgB;IAClD,IAAI,OAAO,EAAE;QACX,OAAO;YACL,SAAS,CAAC,MAAuD;gBAC/D,OAAO;oBACL,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC3C,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBACxC,CAAC,gBAAM,CAAC,MAAM,CAAC,EAAE,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC1C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC5C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC1C,CAAC,gBAAM,CAAC,SAAS,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC9C,CAAC,gBAAM,CAAC,OAAO,CAAC,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;iBAC7C,CAAC,MAAM,CAAC,CAAA;YACX,CAAC;YACD,QAAQ,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;YAClC,GAAG,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;SAC9B,CAAA;KACF;SAAM;QACL,OAAO;YACL,SAAS,CAAC,MAAuD;gBAC/D,OAAO,gBAAC,CAAC,QAAQ,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,gBAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,gBAAC,CAAC,QAAQ;SAChB,CAAA;KACF;AACH,CAAC;AA1BD,8BA0BC"}
1
+ {"version":3,"file":"get_color_fns.js","sourceRoot":"","sources":["../../src/formatter/get_color_fns.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsB;AACtB,uDAAgC;AAGhC,cAAM,CAAC,MAAM,EAAE,CAAA;AAUf,SAAwB,WAAW,CAAC,OAAgB;IAClD,IAAI,OAAO,EAAE;QACX,OAAO;YACL,SAAS,CAAC,MAA4B;gBACpC,OAAO;oBACL,SAAS,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBAClC,MAAM,EAAE,cAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAM,CAAC;oBAC/B,MAAM,EAAE,cAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAM,CAAC;oBACjC,OAAO,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBACnC,OAAO,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;oBACjC,SAAS,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;oBACrC,OAAO,EAAE,cAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAM,CAAC;iBACpC,CAAC,MAAM,CAAC,CAAA;YACX,CAAC;YACD,QAAQ,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;YAClC,GAAG,EAAE,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAM,CAAC;SAC9B,CAAA;KACF;SAAM;QACL,OAAO;YACL,SAAS,CAAC,MAA4B;gBACpC,OAAO,gBAAC,CAAC,QAAQ,CAAA;YACnB,CAAC;YACD,QAAQ,EAAE,gBAAC,CAAC,QAAQ;YACpB,GAAG,EAAE,gBAAC,CAAC,QAAQ;SAChB,CAAA;KACF;AACH,CAAC;AA1BD,8BA0BC","sourcesContent":["import _ from 'lodash'\nimport colors from 'colors/safe'\nimport { TestStepResultStatus } from '@cucumber/messages'\n\ncolors.enable()\n\nexport type IColorFn = (text: string) => string\n\nexport interface IColorFns {\n forStatus: (status: TestStepResultStatus) => IColorFn\n location: IColorFn\n tag: IColorFn\n}\n\nexport default function getColorFns(enabled: boolean): IColorFns {\n if (enabled) {\n return {\n forStatus(status: TestStepResultStatus) {\n return {\n AMBIGUOUS: colors.red.bind(colors),\n FAILED: colors.red.bind(colors),\n PASSED: colors.green.bind(colors),\n PENDING: colors.yellow.bind(colors),\n SKIPPED: colors.cyan.bind(colors),\n UNDEFINED: colors.yellow.bind(colors),\n UNKNOWN: colors.yellow.bind(colors),\n }[status]\n },\n location: colors.gray.bind(colors),\n tag: colors.cyan.bind(colors),\n }\n } else {\n return {\n forStatus(status: TestStepResultStatus) {\n return _.identity\n },\n location: _.identity,\n tag: _.identity,\n }\n }\n}\n"]}
@@ -1,32 +1,29 @@
1
1
  /// <reference types="node" />
2
- import { Dictionary } from 'lodash';
3
- import { messages } from '@cucumber/messages';
2
+ import * as messages from '@cucumber/messages';
4
3
  import { EventEmitter } from 'events';
5
- import { Query } from '@cucumber/query';
6
4
  export interface ITestCaseAttempt {
7
5
  attempt: number;
8
- gherkinDocument: messages.IGherkinDocument;
9
- pickle: messages.IPickle;
10
- stepAttachments: Dictionary<messages.IAttachment[]>;
11
- stepResults: Dictionary<messages.TestStepFinished.ITestStepResult>;
12
- testCase: messages.ITestCase;
13
- worstTestStepResult: messages.TestStepFinished.ITestStepResult;
6
+ gherkinDocument: messages.GherkinDocument;
7
+ pickle: messages.Pickle;
8
+ stepAttachments: Record<string, messages.Attachment[]>;
9
+ stepResults: Record<string, messages.TestStepResult>;
10
+ testCase: messages.TestCase;
11
+ worstTestStepResult: messages.TestStepResult;
14
12
  }
15
13
  export default class EventDataCollector {
16
14
  private gherkinDocumentMap;
17
15
  private pickleMap;
18
16
  private testCaseMap;
19
17
  private testCaseAttemptDataMap;
20
- readonly undefinedParameterTypes: messages.IUndefinedParameterType[];
21
- readonly query: Query;
18
+ readonly undefinedParameterTypes: messages.UndefinedParameterType[];
22
19
  constructor(eventBroadcaster: EventEmitter);
23
- getGherkinDocument(uri: string): messages.IGherkinDocument;
24
- getPickle(pickleId: string): messages.IPickle;
20
+ getGherkinDocument(uri: string): messages.GherkinDocument;
21
+ getPickle(pickleId: string): messages.Pickle;
25
22
  getTestCaseAttempts(): ITestCaseAttempt[];
26
23
  getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt;
27
24
  parseEnvelope(envelope: messages.Envelope): void;
28
- initTestCaseAttempt(testCaseStarted: messages.ITestCaseStarted): void;
29
- storeAttachment({ testCaseStartedId, testStepId, body, mediaType, }: messages.IAttachment): void;
30
- storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }: messages.ITestStepFinished): void;
31
- storeTestCaseResult({ testCaseStartedId }: messages.ITestCaseFinished): void;
25
+ private initTestCaseAttempt;
26
+ storeAttachment(attachment: messages.Attachment): void;
27
+ storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }: messages.TestStepFinished): void;
28
+ storeTestCaseResult({ testCaseStartedId }: messages.TestCaseFinished): void;
32
29
  }
@@ -20,8 +20,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
22
22
  const lodash_1 = __importStar(require("lodash"));
23
+ const messages = __importStar(require("@cucumber/messages"));
23
24
  const value_checker_1 = require("../../value_checker");
24
- const query_1 = require("@cucumber/query");
25
25
  class EventDataCollector {
26
26
  constructor(eventBroadcaster) {
27
27
  this.gherkinDocumentMap = {};
@@ -29,7 +29,6 @@ class EventDataCollector {
29
29
  this.testCaseMap = {};
30
30
  this.testCaseAttemptDataMap = {};
31
31
  this.undefinedParameterTypes = [];
32
- this.query = new query_1.Query();
33
32
  eventBroadcaster.on('envelope', this.parseEnvelope.bind(this));
34
33
  }
35
34
  getGherkinDocument(uri) {
@@ -58,7 +57,6 @@ class EventDataCollector {
58
57
  };
59
58
  }
60
59
  parseEnvelope(envelope) {
61
- this.query.update(envelope);
62
60
  if (value_checker_1.doesHaveValue(envelope.gherkinDocument)) {
63
61
  this.gherkinDocumentMap[envelope.gherkinDocument.uri] =
64
62
  envelope.gherkinDocument;
@@ -91,24 +89,32 @@ class EventDataCollector {
91
89
  testCaseId: testCaseStarted.testCaseId,
92
90
  stepAttachments: {},
93
91
  stepResults: {},
94
- worstTestStepResult: {},
92
+ worstTestStepResult: {
93
+ willBeRetried: false,
94
+ duration: { seconds: 0, nanos: 0 },
95
+ status: messages.TestStepResultStatus.UNKNOWN,
96
+ },
95
97
  };
96
98
  }
97
- storeAttachment({ testCaseStartedId, testStepId, body, mediaType, }) {
99
+ storeAttachment(attachment) {
100
+ const { testCaseStartedId, testStepId } = attachment;
101
+ // TODO: we shouldn't have to check if these properties have values - they are non-nullable
98
102
  if (value_checker_1.doesHaveValue(testCaseStartedId) && value_checker_1.doesHaveValue(testStepId)) {
99
103
  const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId];
100
104
  if (value_checker_1.doesNotHaveValue(stepAttachments[testStepId])) {
101
105
  stepAttachments[testStepId] = [];
102
106
  }
103
- stepAttachments[testStepId].push({ body, mediaType });
107
+ stepAttachments[testStepId].push(attachment);
104
108
  }
105
109
  }
106
110
  storeTestStepResult({ testCaseStartedId, testStepId, testStepResult, }) {
107
- this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] = testStepResult;
111
+ this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] =
112
+ testStepResult;
108
113
  }
109
114
  storeTestCaseResult({ testCaseStartedId }) {
110
115
  const stepResults = lodash_1.values(this.testCaseAttemptDataMap[testCaseStartedId].stepResults);
111
- this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult = this.query.getWorstTestStepResult(stepResults);
116
+ this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult =
117
+ messages.getWorstTestStepResult(stepResults);
112
118
  }
113
119
  }
114
120
  exports.default = EventDataCollector;
@@ -1 +1 @@
1
- {"version":3,"file":"event_data_collector.js","sourceRoot":"","sources":["../../../src/formatter/helpers/event_data_collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event_data_collector.js","sourceRoot":"","sources":["../../../src/formatter/helpers/event_data_collector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,6DAA8C;AAC9C,uDAAqE;AAqBrE,MAAqB,kBAAkB;IAOrC,YAAY,gBAA8B;QANlC,uBAAkB,GAA6C,EAAE,CAAA;QACjE,cAAS,GAAoC,EAAE,CAAA;QAC/C,gBAAW,GAAsC,EAAE,CAAA;QACnD,2BAAsB,GAAyC,EAAE,CAAA;QAChE,4BAAuB,GAAsC,EAAE,CAAA;QAGtE,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC5B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAA;IACrC,CAAC;IAED,SAAS,CAAC,QAAgB;QACxB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;IACjC,CAAC;IAED,mBAAmB;QACjB,OAAO,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACnE,OAAO,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QACnD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,kBAAkB,CAAC,iBAAyB;QAC1C,MAAM,mBAAmB,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;QAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAA;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAChD,OAAO;YACL,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC;YACpD,MAAM;YACN,QAAQ;YACR,OAAO,EAAE,mBAAmB,CAAC,OAAO;YACpC,eAAe,EAAE,mBAAmB,CAAC,eAAe;YACpD,WAAW,EAAE,mBAAmB,CAAC,WAAW;YAC5C,mBAAmB,EAAE,mBAAmB,CAAC,mBAAmB;SAC7D,CAAA;IACH,CAAC;IAED,aAAa,CAAC,QAA2B;QACvC,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAC3C,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC;gBACnD,QAAQ,CAAC,eAAe,CAAA;SAC3B;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;SACrD;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YACzD,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAA;SACnE;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAA;SAC3D;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YAClD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAA;SACnD;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC7C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;SAC1C;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SACpD;aAAM,IAAI,6BAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACnD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;SACpD;IACH,CAAC;IAEO,mBAAmB,CAAC,eAAyC;QACnE,IAAI,CAAC,sBAAsB,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG;YAChD,OAAO,EAAE,eAAe,CAAC,OAAO;YAChC,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,EAAE;YACf,mBAAmB,EAAE;gBACnB,aAAa,EAAE,KAAK;gBACpB,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;gBAClC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,OAAO;aAC9C;SACF,CAAA;IACH,CAAC;IAED,eAAe,CAAC,UAA+B;QAC7C,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;QACpD,2FAA2F;QAC3F,IAAI,6BAAa,CAAC,iBAAiB,CAAC,IAAI,6BAAa,CAAC,UAAU,CAAC,EAAE;YACjE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAA;YAC1E,IAAI,gCAAgB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE;gBACjD,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAA;aACjC;YACD,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;SAC7C;IACH,CAAC;IAED,mBAAmB,CAAC,EAClB,iBAAiB,EACjB,UAAU,EACV,cAAc,GACY;QAC1B,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;YACpE,cAAc,CAAA;IAClB,CAAC;IAED,mBAAmB,CAAC,EAAE,iBAAiB,EAA6B;QAClE,MAAM,WAAW,GAAG,eAAM,CACxB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,WAAW,CAC3D,CAAA;QACD,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,CAAC,mBAAmB;YAChE,QAAQ,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;CACF;AAvGD,qCAuGC","sourcesContent":["import _, { values } from 'lodash'\nimport * as messages from '@cucumber/messages'\nimport { doesHaveValue, doesNotHaveValue } from '../../value_checker'\nimport { EventEmitter } from 'events'\n\ninterface ITestCaseAttemptData {\n attempt: number\n testCaseId: string\n stepAttachments: Record<string, messages.Attachment[]>\n stepResults: Record<string, messages.TestStepResult>\n worstTestStepResult: messages.TestStepResult\n}\n\nexport interface ITestCaseAttempt {\n attempt: number\n gherkinDocument: messages.GherkinDocument\n pickle: messages.Pickle\n stepAttachments: Record<string, messages.Attachment[]>\n stepResults: Record<string, messages.TestStepResult>\n testCase: messages.TestCase\n worstTestStepResult: messages.TestStepResult\n}\n\nexport default class EventDataCollector {\n private gherkinDocumentMap: Record<string, messages.GherkinDocument> = {}\n private pickleMap: Record<string, messages.Pickle> = {}\n private testCaseMap: Record<string, messages.TestCase> = {}\n private testCaseAttemptDataMap: Record<string, ITestCaseAttemptData> = {}\n readonly undefinedParameterTypes: messages.UndefinedParameterType[] = []\n\n constructor(eventBroadcaster: EventEmitter) {\n eventBroadcaster.on('envelope', this.parseEnvelope.bind(this))\n }\n\n getGherkinDocument(uri: string): messages.GherkinDocument {\n return this.gherkinDocumentMap[uri]\n }\n\n getPickle(pickleId: string): messages.Pickle {\n return this.pickleMap[pickleId]\n }\n\n getTestCaseAttempts(): ITestCaseAttempt[] {\n return _.keys(this.testCaseAttemptDataMap).map((testCaseStartedId) => {\n return this.getTestCaseAttempt(testCaseStartedId)\n })\n }\n\n getTestCaseAttempt(testCaseStartedId: string): ITestCaseAttempt {\n const testCaseAttemptData = this.testCaseAttemptDataMap[testCaseStartedId]\n const testCase = this.testCaseMap[testCaseAttemptData.testCaseId]\n const pickle = this.pickleMap[testCase.pickleId]\n return {\n gherkinDocument: this.gherkinDocumentMap[pickle.uri],\n pickle,\n testCase,\n attempt: testCaseAttemptData.attempt,\n stepAttachments: testCaseAttemptData.stepAttachments,\n stepResults: testCaseAttemptData.stepResults,\n worstTestStepResult: testCaseAttemptData.worstTestStepResult,\n }\n }\n\n parseEnvelope(envelope: messages.Envelope): void {\n if (doesHaveValue(envelope.gherkinDocument)) {\n this.gherkinDocumentMap[envelope.gherkinDocument.uri] =\n envelope.gherkinDocument\n } else if (doesHaveValue(envelope.pickle)) {\n this.pickleMap[envelope.pickle.id] = envelope.pickle\n } else if (doesHaveValue(envelope.undefinedParameterType)) {\n this.undefinedParameterTypes.push(envelope.undefinedParameterType)\n } else if (doesHaveValue(envelope.testCase)) {\n this.testCaseMap[envelope.testCase.id] = envelope.testCase\n } else if (doesHaveValue(envelope.testCaseStarted)) {\n this.initTestCaseAttempt(envelope.testCaseStarted)\n } else if (doesHaveValue(envelope.attachment)) {\n this.storeAttachment(envelope.attachment)\n } else if (doesHaveValue(envelope.testStepFinished)) {\n this.storeTestStepResult(envelope.testStepFinished)\n } else if (doesHaveValue(envelope.testCaseFinished)) {\n this.storeTestCaseResult(envelope.testCaseFinished)\n }\n }\n\n private initTestCaseAttempt(testCaseStarted: messages.TestCaseStarted): void {\n this.testCaseAttemptDataMap[testCaseStarted.id] = {\n attempt: testCaseStarted.attempt,\n testCaseId: testCaseStarted.testCaseId,\n stepAttachments: {},\n stepResults: {},\n worstTestStepResult: {\n willBeRetried: false,\n duration: { seconds: 0, nanos: 0 },\n status: messages.TestStepResultStatus.UNKNOWN,\n },\n }\n }\n\n storeAttachment(attachment: messages.Attachment): void {\n const { testCaseStartedId, testStepId } = attachment\n // TODO: we shouldn't have to check if these properties have values - they are non-nullable\n if (doesHaveValue(testCaseStartedId) && doesHaveValue(testStepId)) {\n const { stepAttachments } = this.testCaseAttemptDataMap[testCaseStartedId]\n if (doesNotHaveValue(stepAttachments[testStepId])) {\n stepAttachments[testStepId] = []\n }\n stepAttachments[testStepId].push(attachment)\n }\n }\n\n storeTestStepResult({\n testCaseStartedId,\n testStepId,\n testStepResult,\n }: messages.TestStepFinished): void {\n this.testCaseAttemptDataMap[testCaseStartedId].stepResults[testStepId] =\n testStepResult\n }\n\n storeTestCaseResult({ testCaseStartedId }: messages.TestCaseFinished): void {\n const stepResults = values(\n this.testCaseAttemptDataMap[testCaseStartedId].stepResults\n )\n this.testCaseAttemptDataMap[testCaseStartedId].worstTestStepResult =\n messages.getWorstTestStepResult(stepResults)\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
- import { Dictionary } from 'lodash';
2
- import { messages } from '@cucumber/messages';
3
- export declare function getGherkinStepMap(gherkinDocument: messages.IGherkinDocument): Dictionary<messages.GherkinDocument.Feature.IStep>;
4
- export declare function getGherkinScenarioMap(gherkinDocument: messages.IGherkinDocument): Dictionary<messages.GherkinDocument.Feature.IScenario>;
5
- export declare function getGherkinExampleRuleMap(gherkinDocument: messages.IGherkinDocument): Dictionary<messages.GherkinDocument.Feature.FeatureChild.IRule>;
6
- export declare function getGherkinScenarioLocationMap(gherkinDocument: messages.IGherkinDocument): Dictionary<messages.ILocation>;
1
+ import * as messages from '@cucumber/messages';
2
+ export declare function getGherkinStepMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Step>;
3
+ export declare function getGherkinScenarioMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Scenario>;
4
+ export declare function getGherkinExampleRuleMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Rule>;
5
+ export declare function getGherkinScenarioLocationMap(gherkinDocument: messages.GherkinDocument): Record<string, messages.Location>;
@@ -39,10 +39,7 @@ function getGherkinScenarioMap(gherkinDocument) {
39
39
  .flatten()
40
40
  .filter('scenario')
41
41
  .map('scenario')
42
- .map((scenario) => [
43
- scenario.id,
44
- scenario,
45
- ])
42
+ .map((scenario) => [scenario.id, scenario])
46
43
  .fromPairs()
47
44
  .value();
48
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gherkin_document_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/gherkin_document_parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gherkin_document_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/gherkin_document_parser.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport * as messages from '@cucumber/messages'\nimport { doesHaveValue } from '../../value_checker'\n\nexport function getGherkinStepMap(\n gherkinDocument: messages.GherkinDocument\n): Record<string, messages.Step> {\n return _.chain(gherkinDocument.feature.children)\n .map(extractStepContainers)\n .flatten()\n .map('steps')\n .flatten()\n .map((step: messages.Step) => [step.id, step])\n .fromPairs()\n .value()\n}\n\nfunction extractStepContainers(\n child: messages.FeatureChild\n): Array<messages.Scenario | messages.Background> {\n if (doesHaveValue(child.background)) {\n return [child.background]\n } else if (doesHaveValue(child.rule)) {\n return child.rule.children.map((ruleChild) =>\n doesHaveValue(ruleChild.background)\n ? ruleChild.background\n : ruleChild.scenario\n )\n }\n return [child.scenario]\n}\n\nexport function getGherkinScenarioMap(\n gherkinDocument: messages.GherkinDocument\n): Record<string, messages.Scenario> {\n return _.chain(gherkinDocument.feature.children)\n .map((child: messages.FeatureChild) => {\n if (doesHaveValue(child.rule)) {\n return child.rule.children\n }\n return [child]\n })\n .flatten()\n .filter('scenario')\n .map('scenario')\n .map((scenario: messages.Scenario) => [scenario.id, scenario])\n .fromPairs()\n .value()\n}\n\nexport function getGherkinExampleRuleMap(\n gherkinDocument: messages.GherkinDocument\n): Record<string, messages.Rule> {\n return _.chain(gherkinDocument.feature.children)\n .filter('rule')\n .map('rule')\n .map((rule) => {\n return rule.children\n .filter((child) => doesHaveValue(child.scenario))\n .map((child) => [child.scenario.id, rule])\n })\n .flatten()\n .fromPairs()\n .value()\n}\n\nexport function getGherkinScenarioLocationMap(\n gherkinDocument: messages.GherkinDocument\n): Record<string, messages.Location> {\n const locationMap: Record<string, messages.Location> = {}\n const scenarioMap: Record<string, messages.Scenario> =\n getGherkinScenarioMap(gherkinDocument)\n _.entries<messages.Scenario>(scenarioMap).forEach(([id, scenario]) => {\n locationMap[id] = scenario.location\n if (doesHaveValue(scenario.examples)) {\n _.chain(scenario.examples)\n .map('tableBody')\n .flatten()\n .forEach((tableRow) => {\n locationMap[tableRow.id] = tableRow.location\n })\n .value()\n }\n })\n return locationMap\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAAkE;AAUzD,sDAAqB;AAT9B,8DAA+C;AASf,oCAAY;AAP5C,uEAAiE;AAAxD,gIAAA,oBAAoB,OAAA;AAC7B,+DAAsE;AAA7D,2IAAA,OAAO,OAAsB;AACtC,+CAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACxC,iDAA4E;AAAnE,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,wGAAA,OAAO,OAAA;AACnD,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,gHAAA,aAAa,OAAA;AACtB,iDAA0C;AAAjC,yGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/formatter/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iFAAkE;AAUzD,sDAAqB;AAT9B,8DAA+C;AASf,oCAAY;AAP5C,uEAAiE;AAAxD,gIAAA,oBAAoB,OAAA;AAC7B,+DAAsE;AAA7D,2IAAA,OAAO,OAAsB;AACtC,+CAAgE;AAAvD,2GAAA,WAAW,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AACxC,iDAA4E;AAAnE,4GAAA,WAAW,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,0GAAA,SAAS,OAAA;AAAE,wGAAA,OAAO,OAAA;AACnD,uDAAmD;AAA1C,kHAAA,cAAc,OAAA;AACvB,qDAAiD;AAAxC,gHAAA,aAAa,OAAA;AACtB,iDAA0C;AAAjC,yGAAA,QAAQ,OAAA","sourcesContent":["import * as GherkinDocumentParser from './gherkin_document_parser'\nimport * as PickleParser from './pickle_parser'\n\nexport { parseTestCaseAttempt } from './test_case_attempt_parser'\nexport { default as EventDataCollector } from './event_data_collector'\nexport { KeywordType, getStepKeywordType } from './keyword_type'\nexport { formatIssue, isWarning, isFailure, isIssue } from './issue_helpers'\nexport { formatLocation } from './location_helpers'\nexport { formatSummary } from './summary_helpers'\nexport { getUsage } from './usage_helpers'\nexport { GherkinDocumentParser, PickleParser }\n"]}
@@ -1,11 +1,11 @@
1
- import { messages } from '@cucumber/messages';
1
+ import * as messages from '@cucumber/messages';
2
2
  import { IColorFns } from '../get_color_fns';
3
3
  import StepDefinitionSnippetBuilder from '../step_definition_snippet_builder';
4
4
  import { ISupportCodeLibrary } from '../../support_code_library_builder/types';
5
5
  import { ITestCaseAttempt } from './event_data_collector';
6
- export declare function isFailure(result: messages.TestStepFinished.ITestStepResult): boolean;
7
- export declare function isWarning(result: messages.TestStepFinished.ITestStepResult): boolean;
8
- export declare function isIssue(result: messages.TestStepFinished.ITestStepResult): boolean;
6
+ export declare function isFailure(result: messages.TestStepResult): boolean;
7
+ export declare function isWarning(result: messages.TestStepResult): boolean;
8
+ export declare function isIssue(result: messages.TestStepResult): boolean;
9
9
  export interface IFormatIssueRequest {
10
10
  colorFns: IColorFns;
11
11
  cwd: string;
@@ -15,5 +15,5 @@ export interface IFormatIssueRequest {
15
15
  supportCodeLibrary: ISupportCodeLibrary;
16
16
  }
17
17
  export declare function formatIssue({ colorFns, cwd, number, snippetBuilder, testCaseAttempt, supportCodeLibrary, }: IFormatIssueRequest): string;
18
- export declare function formatUndefinedParameterTypes(undefinedParameterTypes: messages.IUndefinedParameterType[]): string;
19
- export declare function formatUndefinedParameterType(parameterType: messages.IUndefinedParameterType): string;
18
+ export declare function formatUndefinedParameterTypes(undefinedParameterTypes: messages.UndefinedParameterType[]): string;
19
+ export declare function formatUndefinedParameterType(parameterType: messages.UndefinedParameterType): string;
@@ -5,17 +5,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.formatUndefinedParameterType = exports.formatUndefinedParameterTypes = exports.formatIssue = exports.isIssue = exports.isWarning = exports.isFailure = void 0;
7
7
  const indent_string_1 = __importDefault(require("indent-string"));
8
- const status_1 = __importDefault(require("../../status"));
9
8
  const test_case_attempt_formatter_1 = require("./test_case_attempt_formatter");
10
9
  function isFailure(result) {
11
- return (result.status === status_1.default.AMBIGUOUS ||
12
- result.status === status_1.default.UNDEFINED ||
13
- (result.status === status_1.default.FAILED && !result.willBeRetried));
10
+ return (result.status === 'AMBIGUOUS' ||
11
+ result.status === 'UNDEFINED' ||
12
+ (result.status === 'FAILED' && !result.willBeRetried));
14
13
  }
15
14
  exports.isFailure = isFailure;
16
15
  function isWarning(result) {
17
- return (result.status === status_1.default.PENDING ||
18
- (result.status === status_1.default.FAILED && result.willBeRetried));
16
+ return (result.status === 'PENDING' ||
17
+ (result.status === 'FAILED' && result.willBeRetried));
19
18
  }
20
19
  exports.isWarning = isWarning;
21
20
  function isIssue(result) {
@@ -1 +1 @@
1
- {"version":3,"file":"issue_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/issue_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AACxC,0DAAiC;AACjC,+EAAqE;AAQrE,SAAgB,SAAS,CACvB,MAAiD;IAEjD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,SAAS;QAClC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,SAAS;QAClC,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAC3D,CAAA;AACH,CAAC;AARD,8BAQC;AAED,SAAgB,SAAS,CACvB,MAAiD;IAEjD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,OAAO;QAChC,CAAC,MAAM,CAAC,MAAM,KAAK,gBAAM,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,CAAC,CAC1D,CAAA;AACH,CAAC;AAPD,8BAOC;AAED,SAAgB,OAAO,CACrB,MAAiD;IAEjD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC;AAJD,0BAIC;AAWD,SAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,MAAM,EACN,cAAc,EACd,eAAe,EACf,kBAAkB,GACE;IACpB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvC,MAAM,wBAAwB,GAAG,mDAAqB,CAAC;QACrD,QAAQ;QACR,GAAG;QACH,cAAc;QACd,eAAe;QACf,kBAAkB;KACnB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;SAC1B;QACD,OAAO,uBAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAxBD,kCAwBC;AAED,SAAgB,6BAA6B,CAC3C,uBAA2D;IAE3D,MAAM,MAAM,GAAG,CAAC,gCAAgC,CAAC,CAAA;IACjD,MAAM,UAAU,GAAiD,EAAE,CAAA;IACnE,uBAAuB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;SACtB,GAAG,CACF,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,4BAA4B,CAAC,aAAa,CAAC,EAAE,CACtE;SACA,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAjBD,sEAiBC;AAED,SAAgB,4BAA4B,CAC1C,aAA+C;IAE/C,OAAO,IAAI,aAAa,CAAC,IAAI,YAAY,aAAa,CAAC,UAAU,IAAI,CAAA;AACvE,CAAC;AAJD,oEAIC"}
1
+ {"version":3,"file":"issue_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/issue_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,kEAAwC;AACxC,+EAAqE;AAOrE,SAAgB,SAAS,CAAC,MAA+B;IACvD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,WAAW;QAC7B,MAAM,CAAC,MAAM,KAAK,WAAW;QAC7B,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CACtD,CAAA;AACH,CAAC;AAND,8BAMC;AAED,SAAgB,SAAS,CAAC,MAA+B;IACvD,OAAO,CACL,MAAM,CAAC,MAAM,KAAK,SAAS;QAC3B,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,CACrD,CAAA;AACH,CAAC;AALD,8BAKC;AAED,SAAgB,OAAO,CAAC,MAA+B;IACrD,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/C,CAAC;AAFD,0BAEC;AAWD,SAAgB,WAAW,CAAC,EAC1B,QAAQ,EACR,GAAG,EACH,MAAM,EACN,cAAc,EACd,eAAe,EACf,kBAAkB,GACE;IACpB,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAA;IACvC,MAAM,wBAAwB,GAAG,mDAAqB,CAAC;QACrD,QAAQ;QACR,GAAG;QACH,cAAc;QACd,eAAe;QACf,kBAAkB;KACnB,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7C,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO,GAAG,MAAM,GAAG,IAAI,EAAE,CAAA;SAC1B;QACD,OAAO,uBAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1C,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC;AAxBD,kCAwBC;AAED,SAAgB,6BAA6B,CAC3C,uBAA0D;IAE1D,MAAM,MAAM,GAAG,CAAC,gCAAgC,CAAC,CAAA;IACjD,MAAM,UAAU,GAAoD,EAAE,CAAA;IACtE,uBAAuB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAChD,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,aAAa,CAAA;IAChD,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;SACtB,GAAG,CACF,CAAC,aAAa,EAAE,EAAE,CAAC,KAAK,4BAA4B,CAAC,aAAa,CAAC,EAAE,CACtE;SACA,IAAI,CAAC,IAAI,CAAC,CACd,CAAA;IACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxB,CAAC;AAjBD,sEAiBC;AAED,SAAgB,4BAA4B,CAC1C,aAA8C;IAE9C,OAAO,IAAI,aAAa,CAAC,IAAI,YAAY,aAAa,CAAC,UAAU,IAAI,CAAA;AACvE,CAAC;AAJD,oEAIC","sourcesContent":["import indentString from 'indent-string'\nimport { formatTestCaseAttempt } from './test_case_attempt_formatter'\nimport * as messages from '@cucumber/messages'\nimport { IColorFns } from '../get_color_fns'\nimport StepDefinitionSnippetBuilder from '../step_definition_snippet_builder'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport { ITestCaseAttempt } from './event_data_collector'\n\nexport function isFailure(result: messages.TestStepResult): boolean {\n return (\n result.status === 'AMBIGUOUS' ||\n result.status === 'UNDEFINED' ||\n (result.status === 'FAILED' && !result.willBeRetried)\n )\n}\n\nexport function isWarning(result: messages.TestStepResult): boolean {\n return (\n result.status === 'PENDING' ||\n (result.status === 'FAILED' && result.willBeRetried)\n )\n}\n\nexport function isIssue(result: messages.TestStepResult): boolean {\n return isFailure(result) || isWarning(result)\n}\n\nexport interface IFormatIssueRequest {\n colorFns: IColorFns\n cwd: string\n number: number\n snippetBuilder: StepDefinitionSnippetBuilder\n testCaseAttempt: ITestCaseAttempt\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport function formatIssue({\n colorFns,\n cwd,\n number,\n snippetBuilder,\n testCaseAttempt,\n supportCodeLibrary,\n}: IFormatIssueRequest): string {\n const prefix = `${number.toString()}) `\n const formattedTestCaseAttempt = formatTestCaseAttempt({\n colorFns,\n cwd,\n snippetBuilder,\n testCaseAttempt,\n supportCodeLibrary,\n })\n const lines = formattedTestCaseAttempt.split('\\n')\n const updatedLines = lines.map((line, index) => {\n if (index === 0) {\n return `${prefix}${line}`\n }\n return indentString(line, prefix.length)\n })\n return updatedLines.join('\\n')\n}\n\nexport function formatUndefinedParameterTypes(\n undefinedParameterTypes: messages.UndefinedParameterType[]\n): string {\n const output = [`Undefined parameter types:\\n\\n`]\n const withLatest: Record<string, messages.UndefinedParameterType> = {}\n undefinedParameterTypes.forEach((parameterType) => {\n withLatest[parameterType.name] = parameterType\n })\n output.push(\n Object.values(withLatest)\n .map(\n (parameterType) => `- ${formatUndefinedParameterType(parameterType)}`\n )\n .join('\\n')\n )\n output.push('\\n\\n')\n return output.join('')\n}\n\nexport function formatUndefinedParameterType(\n parameterType: messages.UndefinedParameterType\n): string {\n return `\"${parameterType.name}\" e.g. \\`${parameterType.expression}\\``\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"keyword_type.js","sourceRoot":"","sources":["../../../src/formatter/helpers/keyword_type.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,+CAAqD;AACrD,uDAAmD;AAEnD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,8BAAe,CAAA;IACf,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAQD,SAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,mBAAmB,GACQ;IAC3B,MAAM,OAAO,GAAY,kBAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IACrE,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7E,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,KAAK,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,OAAO,CAAA;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,IAAI,6BAAa,CAAC,mBAAmB,CAAC,EAAE;gBACtC,OAAO,mBAAmB,CAAA;aAC3B;QACH,cAAc;QACd;YACE,OAAO,WAAW,CAAC,YAAY,CAAA;KAClC;AACH,CAAC;AAtBD,gDAsBC"}
1
+ {"version":3,"file":"keyword_type.js","sourceRoot":"","sources":["../../../src/formatter/helpers/keyword_type.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,+CAAqD;AACrD,uDAAmD;AAEnD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4CAA6B,CAAA;IAC7B,8BAAe,CAAA;IACf,kCAAmB,CAAA;AACrB,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAQD,SAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,mBAAmB,GACQ;IAC3B,MAAM,OAAO,GAAY,kBAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IACrE,MAAM,IAAI,GAAG,gBAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAA;IAC7E,QAAQ,IAAI,EAAE;QACZ,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,KAAK,CAAA;QAC1B,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,OAAO,CAAA;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,KAAK;YACR,IAAI,6BAAa,CAAC,mBAAmB,CAAC,EAAE;gBACtC,OAAO,mBAAmB,CAAA;aAC3B;QACH,cAAc;QACd;YACE,OAAO,WAAW,CAAC,YAAY,CAAA;KAClC;AACH,CAAC;AAtBD,gDAsBC","sourcesContent":["import _ from 'lodash'\nimport { Dialect, dialects } from '@cucumber/gherkin'\nimport { doesHaveValue } from '../../value_checker'\n\nexport enum KeywordType {\n Precondition = 'precondition',\n Event = 'event',\n Outcome = 'outcome',\n}\n\nexport interface IGetStepKeywordTypeOptions {\n keyword: string\n language: string\n previousKeywordType?: KeywordType\n}\n\nexport function getStepKeywordType({\n keyword,\n language,\n previousKeywordType,\n}: IGetStepKeywordTypeOptions): KeywordType {\n const dialect: Dialect = dialects[language]\n const stepKeywords = ['given', 'when', 'then', 'and', 'but'] as const\n const type = _.find(stepKeywords, (key) => _.includes(dialect[key], keyword))\n switch (type) {\n case 'when':\n return KeywordType.Event\n case 'then':\n return KeywordType.Outcome\n case 'and':\n case 'but':\n if (doesHaveValue(previousKeywordType)) {\n return previousKeywordType\n }\n // fallthrough\n default:\n return KeywordType.Precondition\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"location_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/location_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,uDAAmD;AAGnD,SAAgB,cAAc,CAAC,GAAgB,EAAE,GAAY;IAC3D,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IACjB,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC9B;IACD,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;AACxC,CAAC;AAND,wCAMC"}
1
+ {"version":3,"file":"location_helpers.js","sourceRoot":"","sources":["../../../src/formatter/helpers/location_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AACvB,uDAAmD;AAGnD,SAAgB,cAAc,CAAC,GAAgB,EAAE,GAAY;IAC3D,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAA;IACjB,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;QACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;KAC9B;IACD,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAA;AACxC,CAAC;AAND,wCAMC","sourcesContent":["import path from 'path'\nimport { doesHaveValue } from '../../value_checker'\nimport { ILineAndUri } from '../../types'\n\nexport function formatLocation(obj: ILineAndUri, cwd?: string): string {\n let uri = obj.uri\n if (doesHaveValue(cwd)) {\n uri = path.relative(cwd, uri)\n }\n return `${uri}:${obj.line.toString()}`\n}\n"]}
@@ -1,18 +1,17 @@
1
- import { Dictionary } from 'lodash';
2
- import { messages } from '@cucumber/messages';
1
+ import * as messages from '@cucumber/messages';
3
2
  export interface IGetPickleLocationRequest {
4
- gherkinDocument: messages.IGherkinDocument;
5
- pickle: messages.IPickle;
3
+ gherkinDocument: messages.GherkinDocument;
4
+ pickle: messages.Pickle;
6
5
  }
7
6
  export interface IGetStepKeywordRequest {
8
- pickleStep: messages.Pickle.IPickleStep;
9
- gherkinStepMap: Dictionary<messages.GherkinDocument.Feature.IStep>;
7
+ pickleStep: messages.PickleStep;
8
+ gherkinStepMap: Record<string, messages.Step>;
10
9
  }
11
10
  export interface IGetScenarioDescriptionRequest {
12
- pickle: messages.IPickle;
13
- gherkinScenarioMap: Dictionary<messages.GherkinDocument.Feature.IScenario>;
11
+ pickle: messages.Pickle;
12
+ gherkinScenarioMap: Record<string, messages.Scenario>;
14
13
  }
15
14
  export declare function getScenarioDescription({ pickle, gherkinScenarioMap, }: IGetScenarioDescriptionRequest): string;
16
15
  export declare function getStepKeyword({ pickleStep, gherkinStepMap, }: IGetStepKeywordRequest): string;
17
- export declare function getPickleStepMap(pickle: messages.IPickle): Dictionary<messages.Pickle.IPickleStep>;
18
- export declare function getPickleLocation({ gherkinDocument, pickle, }: IGetPickleLocationRequest): messages.ILocation;
16
+ export declare function getPickleStepMap(pickle: messages.Pickle): Record<string, messages.PickleStep>;
17
+ export declare function getPickleLocation({ gherkinDocument, pickle, }: IGetPickleLocationRequest): messages.Location;
@@ -1 +1 @@
1
- {"version":3,"file":"pickle_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/pickle_parser.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsC;AACtC,uEAAyE;AAkBzE,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,kBAAkB,GACa;IAC/B,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;SAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACnC,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,WAAW,CAAA;AACxB,CAAC;AATD,wDASC;AAED,SAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,cAAc,GACS;IACvB,OAAO,gBAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SAC/B,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,OAAO,CAAA;AACpB,CAAC;AATD,wCASC;AAED,SAAgB,gBAAgB,CAC9B,MAAwB;IAExB,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;SAChD,SAAS,EAAE;SACX,KAAK,EAAE,CAAA;AACZ,CAAC;AAPD,4CAOC;AAED,SAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,MAAM,GACoB;IAC1B,MAAM,0BAA0B,GAAG,uDAA6B,CAC9D,eAAe,CAChB,CAAA;IACD,OAAO,0BAA0B,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAC9D,CAAC;AARD,8CAQC"}
1
+ {"version":3,"file":"pickle_parser.js","sourceRoot":"","sources":["../../../src/formatter/helpers/pickle_parser.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,uEAAyE;AAkBzE,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,kBAAkB,GACa;IAC/B,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;SAC9B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;SACnC,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,WAAW,CAAA;AACxB,CAAC;AATD,wDASC;AAED,SAAgB,cAAc,CAAC,EAC7B,UAAU,EACV,cAAc,GACS;IACvB,OAAO,gBAAC,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC;SAClC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;SAC/B,OAAO,EAAE;SACT,KAAK,EAAE;SACP,KAAK,EAAE,CAAC,OAAO,CAAA;AACpB,CAAC;AATD,wCASC;AAED,SAAgB,gBAAgB,CAC9B,MAAuB;IAEvB,OAAO,gBAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACzB,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;SAChD,SAAS,EAAE;SACX,KAAK,EAAE,CAAA;AACZ,CAAC;AAPD,4CAOC;AAED,SAAgB,iBAAiB,CAAC,EAChC,eAAe,EACf,MAAM,GACoB;IAC1B,MAAM,0BAA0B,GAC9B,uDAA6B,CAAC,eAAe,CAAC,CAAA;IAChD,OAAO,0BAA0B,CAAC,gBAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;AAC9D,CAAC;AAPD,8CAOC","sourcesContent":["import _ from 'lodash'\nimport { getGherkinScenarioLocationMap } from './gherkin_document_parser'\nimport * as messages from '@cucumber/messages'\n\nexport interface IGetPickleLocationRequest {\n gherkinDocument: messages.GherkinDocument\n pickle: messages.Pickle\n}\n\nexport interface IGetStepKeywordRequest {\n pickleStep: messages.PickleStep\n gherkinStepMap: Record<string, messages.Step>\n}\n\nexport interface IGetScenarioDescriptionRequest {\n pickle: messages.Pickle\n gherkinScenarioMap: Record<string, messages.Scenario>\n}\n\nexport function getScenarioDescription({\n pickle,\n gherkinScenarioMap,\n}: IGetScenarioDescriptionRequest): string {\n return _.chain(pickle.astNodeIds)\n .map((id) => gherkinScenarioMap[id])\n .compact()\n .first()\n .value().description\n}\n\nexport function getStepKeyword({\n pickleStep,\n gherkinStepMap,\n}: IGetStepKeywordRequest): string {\n return _.chain(pickleStep.astNodeIds)\n .map((id) => gherkinStepMap[id])\n .compact()\n .first()\n .value().keyword\n}\n\nexport function getPickleStepMap(\n pickle: messages.Pickle\n): Record<string, messages.PickleStep> {\n return _.chain(pickle.steps)\n .map((pickleStep) => [pickleStep.id, pickleStep])\n .fromPairs()\n .value()\n}\n\nexport function getPickleLocation({\n gherkinDocument,\n pickle,\n}: IGetPickleLocationRequest): messages.Location {\n const gherkinScenarioLocationMap =\n getGherkinScenarioLocationMap(gherkinDocument)\n return gherkinScenarioLocationMap[_.last(pickle.astNodeIds)]\n}\n"]}
@@ -1,2 +1,2 @@
1
- import { messages } from '@cucumber/messages';
2
- export declare function formatStepArgument(arg: messages.IPickleStepArgument): string;
1
+ import * as messages from '@cucumber/messages';
2
+ export declare function formatStepArgument(arg: messages.PickleStepArgument): string;
@@ -1 +1 @@
1
- {"version":3,"file":"step_argument_formatter.js","sourceRoot":"","sources":["../../../src/formatter/helpers/step_argument_formatter.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAC9B,yDAAwD;AAGxD,SAAS,eAAe,CACtB,SAAmD;IAEnD,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxD,CACF,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACnB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,eAAe,CACtB,SAAuD;IAEvD,OAAO,QAAQ,SAAS,CAAC,OAAO,OAAO,CAAA;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAiC;IAClE,OAAO,kCAAiB,CAAC,GAAG,EAAE;QAC5B,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC;AALD,gDAKC"}
1
+ {"version":3,"file":"step_argument_formatter.js","sourceRoot":"","sources":["../../../src/formatter/helpers/step_argument_formatter.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA8B;AAC9B,yDAAwD;AAGxD,SAAS,eAAe,CAAC,SAA+B;IACtD,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,YAAY,EAAE,EAAE;YAChB,cAAc,EAAE,EAAE;YAClB,IAAI,EAAE,GAAG;YACT,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;YACV,WAAW,EAAE,EAAE;YACf,GAAG,EAAE,EAAE;YACP,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,EAAE;SAChB;QACD,KAAK,EAAE;YACL,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,CAAC;YACjB,eAAe,EAAE,CAAC;SACnB;KACF,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CACxD,CACF,CAAA;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IACnB,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,SAAmC;IAC1D,OAAO,QAAQ,SAAS,CAAC,OAAO,OAAO,CAAA;AACzC,CAAC;AAED,SAAgB,kBAAkB,CAAC,GAAgC;IACjE,OAAO,kCAAiB,CAAC,GAAG,EAAE;QAC5B,SAAS,EAAE,eAAe;QAC1B,SAAS,EAAE,eAAe;KAC3B,CAAC,CAAA;AACJ,CAAC;AALD,gDAKC","sourcesContent":["import Table from 'cli-table3'\nimport { parseStepArgument } from '../../step_arguments'\nimport * as messages from '@cucumber/messages'\n\nfunction formatDataTable(dataTable: messages.PickleTable): string {\n const table = new Table({\n chars: {\n bottom: '',\n 'bottom-left': '',\n 'bottom-mid': '',\n 'bottom-right': '',\n left: '|',\n 'left-mid': '',\n mid: '',\n 'mid-mid': '',\n middle: '|',\n right: '|',\n 'right-mid': '',\n top: '',\n 'top-left': '',\n 'top-mid': '',\n 'top-right': '',\n },\n style: {\n border: [],\n 'padding-left': 1,\n 'padding-right': 1,\n },\n })\n const rows = dataTable.rows.map((row) =>\n row.cells.map((cell) =>\n cell.value.replace(/\\\\/g, '\\\\\\\\').replace(/\\n/g, '\\\\n')\n )\n )\n table.push(...rows)\n return table.toString()\n}\n\nfunction formatDocString(docString: messages.PickleDocString): string {\n return `\"\"\"\\n${docString.content}\\n\"\"\"`\n}\n\nexport function formatStepArgument(arg: messages.PickleStepArgument): string {\n return parseStepArgument(arg, {\n dataTable: formatDataTable,\n docString: formatDocString,\n })\n}\n"]}
@@ -1,9 +1,9 @@
1
1
  import { IColorFns } from '../get_color_fns';
2
2
  import { ITestCaseAttempt } from './event_data_collector';
3
- import { messages } from '@cucumber/messages';
3
+ import * as messages from '@cucumber/messages';
4
4
  export interface IFormatSummaryRequest {
5
5
  colorFns: IColorFns;
6
6
  testCaseAttempts: ITestCaseAttempt[];
7
- testRunDuration: messages.IDuration;
7
+ testRunDuration: messages.Duration;
8
8
  }
9
9
  export declare function formatSummary({ colorFns, testCaseAttempts, testRunDuration, }: IFormatSummaryRequest): string;