@cucumber/cucumber 7.0.0 → 7.1.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 (85) hide show
  1. package/CHANGELOG.md +22 -17
  2. package/README.md +7 -11
  3. package/lib/cli/argv_parser.js.map +1 -1
  4. package/lib/cli/configuration_builder.js.map +1 -1
  5. package/lib/cli/helpers.js.map +1 -1
  6. package/lib/cli/i18n.js.map +1 -1
  7. package/lib/cli/index.js +17 -8
  8. package/lib/cli/index.js.map +1 -1
  9. package/lib/cli/install_validator.js.map +1 -1
  10. package/lib/cli/option_splitter.js.map +1 -1
  11. package/lib/cli/profile_loader.js.map +1 -1
  12. package/lib/cli/publish_banner.js.map +1 -1
  13. package/lib/cli/run.js.map +1 -1
  14. package/lib/formatter/builder.js.map +1 -1
  15. package/lib/formatter/get_color_fns.js.map +1 -1
  16. package/lib/formatter/helpers/event_data_collector.js.map +1 -1
  17. package/lib/formatter/helpers/gherkin_document_parser.js.map +1 -1
  18. package/lib/formatter/helpers/index.js.map +1 -1
  19. package/lib/formatter/helpers/issue_helpers.js.map +1 -1
  20. package/lib/formatter/helpers/keyword_type.js.map +1 -1
  21. package/lib/formatter/helpers/location_helpers.js.map +1 -1
  22. package/lib/formatter/helpers/pickle_parser.js.map +1 -1
  23. package/lib/formatter/helpers/step_argument_formatter.js.map +1 -1
  24. package/lib/formatter/helpers/summary_helpers.js.map +1 -1
  25. package/lib/formatter/helpers/test_case_attempt_formatter.js.map +1 -1
  26. package/lib/formatter/helpers/test_case_attempt_parser.js.map +1 -1
  27. package/lib/formatter/helpers/usage_helpers/index.js.map +1 -1
  28. package/lib/formatter/html_formatter.js +2 -2
  29. package/lib/formatter/html_formatter.js.map +1 -1
  30. package/lib/formatter/http_stream.d.ts +8 -9
  31. package/lib/formatter/http_stream.js +58 -54
  32. package/lib/formatter/http_stream.js.map +1 -1
  33. package/lib/formatter/index.js.map +1 -1
  34. package/lib/formatter/json_formatter.js.map +1 -1
  35. package/lib/formatter/message_formatter.js.map +1 -1
  36. package/lib/formatter/progress_bar_formatter.js.map +1 -1
  37. package/lib/formatter/progress_formatter.js.map +1 -1
  38. package/lib/formatter/rerun_formatter.js.map +1 -1
  39. package/lib/formatter/snippets_formatter.js +1 -1
  40. package/lib/formatter/snippets_formatter.js.map +1 -1
  41. package/lib/formatter/step_definition_snippet_builder/index.js +1 -1
  42. package/lib/formatter/step_definition_snippet_builder/index.js.map +1 -1
  43. package/lib/formatter/step_definition_snippet_builder/javascript_snippet_syntax.js.map +1 -1
  44. package/lib/formatter/step_definition_snippet_builder/snippet_syntax.js.map +1 -1
  45. package/lib/formatter/summary_formatter.js.map +1 -1
  46. package/lib/formatter/usage_formatter.js.map +1 -1
  47. package/lib/formatter/usage_json_formatter.js.map +1 -1
  48. package/lib/index.d.ts +4 -4
  49. package/lib/index.js.map +1 -1
  50. package/lib/models/data_table.js.map +1 -1
  51. package/lib/models/definition.js.map +1 -1
  52. package/lib/models/step_definition.js.map +1 -1
  53. package/lib/models/test_case_hook_definition.js.map +1 -1
  54. package/lib/models/test_run_hook_definition.js.map +1 -1
  55. package/lib/models/test_step_hook_definition.js.map +1 -1
  56. package/lib/pickle_filter.js.map +1 -1
  57. package/lib/runtime/attachment_manager/index.d.ts +4 -4
  58. package/lib/runtime/attachment_manager/index.js +12 -4
  59. package/lib/runtime/attachment_manager/index.js.map +1 -1
  60. package/lib/runtime/helpers.js.map +1 -1
  61. package/lib/runtime/index.js.map +1 -1
  62. package/lib/runtime/parallel/command_types.js.map +1 -1
  63. package/lib/runtime/parallel/coordinator.js.map +1 -1
  64. package/lib/runtime/parallel/run_worker.js.map +1 -1
  65. package/lib/runtime/parallel/worker.js.map +1 -1
  66. package/lib/runtime/pickle_runner.js.map +1 -1
  67. package/lib/runtime/step_runner.js.map +1 -1
  68. package/lib/runtime/stopwatch.js.map +1 -1
  69. package/lib/stack_trace_filter.js.map +1 -1
  70. package/lib/status.js.map +1 -1
  71. package/lib/step_arguments.js.map +1 -1
  72. package/lib/support_code_library_builder/build_helpers.js.map +1 -1
  73. package/lib/support_code_library_builder/finalize_helpers.js.map +1 -1
  74. package/lib/support_code_library_builder/index.js.map +1 -1
  75. package/lib/support_code_library_builder/types.d.ts +2 -2
  76. package/lib/support_code_library_builder/types.js.map +1 -1
  77. package/lib/support_code_library_builder/validate_arguments.js.map +1 -1
  78. package/lib/support_code_library_builder/world.js.map +1 -1
  79. package/lib/time.js.map +1 -1
  80. package/lib/types/index.js.map +1 -1
  81. package/lib/uncaught_exception_manager.js +2 -12
  82. package/lib/uncaught_exception_manager.js.map +1 -1
  83. package/lib/user_code_runner.js.map +1 -1
  84. package/lib/value_checker.js.map +1 -1
  85. package/package.json +44 -41
@@ -1 +1 @@
1
- {"version":3,"file":"usage_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import _ from 'lodash'\nimport { formatLocation, getUsage } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport Table from 'cli-table3'\nimport { durationToMilliseconds } from '../time'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\n\nexport default class UsageFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logUsage()\n }\n })\n }\n\n logUsage(): void {\n const usage = getUsage({\n cwd: this.cwd,\n stepDefinitions: this.supportCodeLibrary.stepDefinitions,\n eventDataCollector: this.eventDataCollector,\n })\n if (usage.length === 0) {\n this.log('No step definitions')\n return\n }\n const table = new Table({\n head: ['Pattern / Text', 'Duration', 'Location'],\n style: {\n border: [],\n head: [],\n },\n })\n usage.forEach(\n ({ line, matches, meanDuration, pattern, patternType, uri }) => {\n let formattedPattern = pattern\n if (patternType === 'RegularExpression') {\n formattedPattern = '/' + formattedPattern + '/'\n }\n const col1 = [formattedPattern]\n const col2 = []\n if (matches.length > 0) {\n if (doesHaveValue(meanDuration)) {\n col2.push(`${durationToMilliseconds(meanDuration).toFixed(2)}ms`)\n } else {\n col2.push('-')\n }\n } else {\n col2.push('UNUSED')\n }\n const col3 = [formatLocation({ line, uri })]\n _.take(matches, 5).forEach((match) => {\n col1.push(` ${match.text}`)\n if (doesHaveValue(match.duration)) {\n col2.push(`${durationToMilliseconds(match.duration).toString()}ms`)\n } else {\n col2.push('-')\n }\n col3.push(formatLocation(match))\n })\n if (matches.length > 5) {\n col1.push(` ${(matches.length - 5).toString()} more`)\n }\n table.push([col1.join('\\n'), col2.join('\\n'), col3.join('\\n')] as any)\n }\n )\n this.log(`${table.toString()}\\n`)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"usage_json_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_json_formatter.ts"],"names":[],"mappings":";;;;;AAAA,uCAAoC;AACpC,0CAAiD;AACjD,oDAAgD;AAIhD,MAAqB,kBAAmB,SAAQ,UAAS;IACvD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAmB,EAAE,EAAE;YAC9D,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAA;aAChB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,kBAAQ,CAAC;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe;YACxD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAU;QAC9B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAzBD,qCAyBC"}
1
+ {"version":3,"file":"usage_json_formatter.js","sourceRoot":"","sources":["../../src/formatter/usage_json_formatter.ts"],"names":[],"mappings":";;;;;AAAA,uCAAoC;AACpC,0CAAiD;AACjD,oDAAgD;AAIhD,MAAqB,kBAAmB,SAAQ,UAAS;IACvD,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,QAAmB,EAAE,EAAE;YAC9D,IAAI,6BAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC3C,IAAI,CAAC,QAAQ,EAAE,CAAA;aAChB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,KAAK,GAAG,kBAAQ,CAAC;YACrB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,eAAe;YACxD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;IACnD,CAAC;IAED,QAAQ,CAAC,GAAW,EAAE,KAAU;QAC9B,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;SACvB;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAzBD,qCAyBC","sourcesContent":["import { getUsage } from './helpers'\nimport Formatter, { IFormatterOptions } from './'\nimport { doesHaveValue } from '../value_checker'\nimport { messages } from '@cucumber/messages'\nimport IEnvelope = messages.IEnvelope\n\nexport default class UsageJsonFormatter extends Formatter {\n constructor(options: IFormatterOptions) {\n super(options)\n options.eventBroadcaster.on('envelope', (envelope: IEnvelope) => {\n if (doesHaveValue(envelope.testRunFinished)) {\n this.logUsage()\n }\n })\n }\n\n logUsage(): void {\n const usage = getUsage({\n cwd: this.cwd,\n stepDefinitions: this.supportCodeLibrary.stepDefinitions,\n eventDataCollector: this.eventDataCollector,\n })\n this.log(JSON.stringify(usage, this.replacer, 2))\n }\n\n replacer(key: string, value: any): any {\n if (key === 'seconds') {\n return parseInt(value)\n }\n return value\n }\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -23,11 +23,11 @@ export declare const Before: ((code: import("./support_code_library_builder/type
23
23
  export declare const BeforeAll: ((code: Function) => void) & ((options: import("./support_code_library_builder/types").IDefineTestRunHookOptions, code: Function) => void);
24
24
  export declare const BeforeStep: ((code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((tags: string, code: import("./support_code_library_builder/types").TestStepHookFunction) => void) & ((options: import("./support_code_library_builder/types").IDefineTestStepHookOptions, code: import("./support_code_library_builder/types").TestStepHookFunction) => void);
25
25
  export declare const defineParameterType: (options: import("./support_code_library_builder/types").IParameterTypeDefinition<any>) => void;
26
- export declare const defineStep: ((pattern: string | RegExp, code: Function) => void) & ((pattern: string | RegExp, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
27
- export declare const Given: ((pattern: string | RegExp, code: Function) => void) & ((pattern: string | RegExp, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
26
+ export declare const defineStep: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
27
+ export declare const Given: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
28
28
  export declare const setDefaultTimeout: (milliseconds: number) => void;
29
29
  export declare const setDefinitionFunctionWrapper: (fn: Function) => void;
30
30
  export declare const setWorldConstructor: (fn: any) => void;
31
- export declare const Then: ((pattern: string | RegExp, code: Function) => void) & ((pattern: string | RegExp, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
32
- export declare const When: ((pattern: string | RegExp, code: Function) => void) & ((pattern: string | RegExp, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
31
+ export declare const Then: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
32
+ export declare const When: ((pattern: import("./support_code_library_builder/types").DefineStepPattern, code: Function) => void) & ((pattern: import("./support_code_library_builder/types").DefineStepPattern, options: import("./support_code_library_builder/types").IDefineStepOptions, code: Function) => void);
33
33
  export { default as World, IWorldOptions, } from './support_code_library_builder/world';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAuD;AAsB9C,4CAAgB;AArBzB,kGAAsE;AAEtE,YAAY;AACZ,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,yCAAyD;AAAhD,oHAAA,yBAAyB,OAAA;AAClC,iDAAyD;AAAhD,8HAAA,OAAO,OAAgB;AAChC,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,+EAAqF;AAA5E,0JAAA,OAAO,OAA6B;AAC7C,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,kDAA0D;AAAjD,wHAAA,OAAO,OAAa;AAE7B,aAAa;AACb,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAiE;AAAxD,4HAAA,OAAO,OAAoB;AACpC,6DAAqE;AAA5D,gIAAA,OAAO,OAAiB;AACjC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,mEAA2E;AAAlE,sIAAA,OAAO,OAAoB;AACpC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,yEAAgF;AAAvE,2IAAA,OAAO,OAAsB;AAGtC,yBAAyB;AACzB,MAAM,EAAE,OAAO,EAAE,GAAG,sCAAyB,CAAA;AAChC,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AAC3B,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;AACvB,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;AAC7C,QAAA,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAA;AACnE,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACnB,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AAChC,8DAG6C;AAF3C,+GAAA,OAAO,OAAS"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sEAAuD;AAsB9C,4CAAgB;AArBzB,kGAAsE;AAEtE,YAAY;AACZ,6BAAsC;AAA7B,2GAAA,OAAO,OAAO;AACvB,yCAAyD;AAAhD,oHAAA,yBAAyB,OAAA;AAClC,iDAAyD;AAAhD,8HAAA,OAAO,OAAgB;AAChC,qCAA8C;AAArC,mHAAA,OAAO,OAAW;AAC3B,+EAAqF;AAA5E,0JAAA,OAAO,OAA6B;AAC7C,mCAA4C;AAAnC,iHAAA,OAAO,OAAU;AAC1B,kDAA0D;AAAjD,wHAAA,OAAO,OAAa;AAE7B,aAAa;AACb,yCAAkD;AAAzC,uHAAA,OAAO,OAAa;AAC7B,+CAAiE;AAAxD,4HAAA,OAAO,OAAoB;AACpC,6DAAqE;AAA5D,gIAAA,OAAO,OAAiB;AACjC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,qEAA6E;AAApE,wIAAA,OAAO,OAAqB;AACrC,mEAA2E;AAAlE,sIAAA,OAAO,OAAoB;AACpC,+DAAuE;AAA9D,kIAAA,OAAO,OAAkB;AAClC,yEAAgF;AAAvE,2IAAA,OAAO,OAAsB;AAGtC,yBAAyB;AACzB,MAAM,EAAE,OAAO,EAAE,GAAG,sCAAyB,CAAA;AAChC,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;AAC3B,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;AACvB,QAAA,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;AAC7B,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;AAC/B,QAAA,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;AACrB,QAAA,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAA;AAC7C,QAAA,4BAA4B,GAAG,OAAO,CAAC,4BAA4B,CAAA;AACnE,QAAA,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;AACjD,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AACnB,QAAA,IAAI,GAAG,OAAO,CAAC,IAAI,CAAA;AAChC,8DAG6C;AAF3C,+GAAA,OAAO,OAAS","sourcesContent":["import * as formatterHelpers from './formatter/helpers'\nimport supportCodeLibraryBuilder from './support_code_library_builder'\n\n// Top level\nexport { default as Cli } from './cli'\nexport { parseGherkinMessageStream } from './cli/helpers'\nexport { default as PickleFilter } from './pickle_filter'\nexport { default as Runtime } from './runtime'\nexport { default as supportCodeLibraryBuilder } from './support_code_library_builder'\nexport { default as Status } from './status'\nexport { default as DataTable } from './models/data_table'\n\n// Formatters\nexport { default as Formatter } from './formatter'\nexport { default as FormatterBuilder } from './formatter/builder'\nexport { default as JsonFormatter } from './formatter/json_formatter'\nexport { default as ProgressFormatter } from './formatter/progress_formatter'\nexport { default as RerunFormatter } from './formatter/rerun_formatter'\nexport { default as SnippetsFormatter } from './formatter/snippets_formatter'\nexport { default as SummaryFormatter } from './formatter/summary_formatter'\nexport { default as UsageFormatter } from './formatter/usage_formatter'\nexport { default as UsageJsonFormatter } from './formatter/usage_json_formatter'\nexport { formatterHelpers }\n\n// Support Code Functions\nconst { methods } = supportCodeLibraryBuilder\nexport const After = methods.After\nexport const AfterAll = methods.AfterAll\nexport const AfterStep = methods.AfterStep\nexport const Before = methods.Before\nexport const BeforeAll = methods.BeforeAll\nexport const BeforeStep = methods.BeforeStep\nexport const defineParameterType = methods.defineParameterType\nexport const defineStep = methods.defineStep\nexport const Given = methods.Given\nexport const setDefaultTimeout = methods.setDefaultTimeout\nexport const setDefinitionFunctionWrapper = methods.setDefinitionFunctionWrapper\nexport const setWorldConstructor = methods.setWorldConstructor\nexport const Then = methods.Then\nexport const When = methods.When\nexport {\n default as World,\n IWorldOptions,\n} from './support_code_library_builder/world'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"data_table.js","sourceRoot":"","sources":["../../src/models/data_table.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AAGtC,MAAqB,SAAS;IAG5B,YACE,WAAkE;QAElE,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAA;SAC5B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CAAA;SACF;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,qBAAqB,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;SACF;QACD,OAAO,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;QACD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;CACF;AAjDD,4BAiDC"}
1
+ {"version":3,"file":"data_table.js","sourceRoot":"","sources":["../../src/models/data_table.ts"],"names":[],"mappings":";;;;;AAAA,oDAAsC;AAGtC,MAAqB,SAAS;IAG5B,YACE,WAAkE;QAElE,IAAI,WAAW,YAAY,KAAK,EAAE;YAChC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAA;SAC5B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3C,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CACpC,CAAA;SACF;IACH,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACjC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAC,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/D,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,IAAI;QACF,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACvB,MAAM,qBAAqB,GAAG,gBAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;QACtE,IAAI,CAAC,qBAAqB,EAAE;YAC1B,MAAM,IAAI,KAAK,CACb,qFAAqF,CACtF,CAAA;SACF;QACD,OAAO,gBAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAED,SAAS;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/B,CAAA;QACD,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAA;IAClC,CAAC;CACF;AAjDD,4BAiDC","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { messages } from '@cucumber/messages'\n\nexport default class DataTable {\n private readonly rawTable: string[][]\n\n constructor(\n sourceTable: messages.PickleStepArgument.IPickleTable | string[][]\n ) {\n if (sourceTable instanceof Array) {\n this.rawTable = sourceTable\n } else {\n this.rawTable = sourceTable.rows.map((row) =>\n row.cells.map((cell) => cell.value)\n )\n }\n }\n\n hashes(): any[] {\n const copy = this.raw()\n const keys = copy[0]\n const valuesArray = copy.slice(1)\n return valuesArray.map((values) => _.zipObject(keys, values))\n }\n\n raw(): string[][] {\n return this.rawTable.slice(0)\n }\n\n rows(): string[][] {\n const copy = this.raw()\n copy.shift()\n return copy\n }\n\n rowsHash(): Dictionary<any> {\n const rows = this.raw()\n const everyRowHasTwoColumns = _.every(rows, (row) => row.length === 2)\n if (!everyRowHasTwoColumns) {\n throw new Error(\n 'rowsHash can only be called on a data table where all rows have exactly two columns'\n )\n }\n return _.fromPairs(rows)\n }\n\n transpose(): DataTable {\n const transposed = this.rawTable[0].map((x, i) =>\n this.rawTable.map((y) => y[i])\n )\n return new DataTable(transposed)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/models/definition.ts"],"names":[],"mappings":";;AAqDA,MAA8B,UAAU;IAQtC,YAAY,EACV,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,aAAa,EACb,GAAG,GACuC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,6BAA6B,CAC3B,mBAAoC,EACpC,cAA+B;QAE/B,OAAO,CACL,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY;YACvD,iBAAiB,mBAAmB,CAAC,QAAQ,EAAE,0CAA0C;YACzF,OAAO,cAAc,CAAC,QAAQ,EAAE,4BAA4B,CAC7D,CAAA;IACH,CAAC;IAED,+BAA+B,CAAC,UAAiB;QAC/C,OAAO,IAAI,CAAC,6BAA6B,CACvC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,MAAM,GAAG,CAAC,CACtB,CAAA;IACH,CAAC;CACF;AAzCD,6BAyCC"}
1
+ {"version":3,"file":"definition.js","sourceRoot":"","sources":["../../src/models/definition.ts"],"names":[],"mappings":";;AAqDA,MAA8B,UAAU;IAQtC,YAAY,EACV,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,OAAO,EACP,aAAa,EACb,GAAG,GACuC;QAC1C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QAClC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,6BAA6B,CAC3B,mBAAoC,EACpC,cAA+B;QAE/B,OAAO,CACL,gBAAgB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY;YACvD,iBAAiB,mBAAmB,CAAC,QAAQ,EAAE,0CAA0C;YACzF,OAAO,cAAc,CAAC,QAAQ,EAAE,4BAA4B,CAC7D,CAAA;IACH,CAAC;IAED,+BAA+B,CAAC,UAAiB;QAC/C,OAAO,IAAI,CAAC,6BAA6B,CACvC,UAAU,CAAC,MAAM,EACjB,UAAU,CAAC,MAAM,GAAG,CAAC,CACtB,CAAA;IACH,CAAC;CACF;AAzCD,6BAyCC","sourcesContent":["import { messages } from '@cucumber/messages'\nimport { ITestCaseHookParameter } from '../support_code_library_builder/types'\nimport { Expression } from '@cucumber/cucumber-expressions'\n\nexport interface IGetInvocationDataRequest {\n hookParameter: ITestCaseHookParameter\n step: messages.Pickle.IPickleStep\n world: any\n}\n\nexport interface IGetInvocationDataResponse {\n getInvalidCodeLengthMessage: () => string\n parameters: any[]\n validCodeLengths: number[]\n}\n\nexport interface IDefinitionOptions {\n timeout?: number\n wrapperOptions?: any\n}\n\nexport interface IHookDefinitionOptions extends IDefinitionOptions {\n tags?: string\n}\n\nexport interface IDefinitionParameters<T extends IDefinitionOptions> {\n code: Function\n id: string\n line: number\n options: T\n unwrappedCode?: Function\n uri: string\n}\n\nexport interface IStepDefinitionParameters\n extends IDefinitionParameters<IDefinitionOptions> {\n pattern: string | RegExp\n expression: Expression\n}\n\nexport interface IDefinition {\n readonly code: Function\n readonly id: string\n readonly line: number\n readonly options: IDefinitionOptions\n readonly unwrappedCode: Function\n readonly uri: string\n\n getInvocationParameters: (\n options: IGetInvocationDataRequest\n ) => Promise<IGetInvocationDataResponse>\n}\n\nexport default abstract class Definition {\n public readonly code: Function\n public readonly id: string\n public readonly line: number\n public readonly options: IDefinitionOptions\n public readonly unwrappedCode: Function\n public readonly uri: string\n\n constructor({\n code,\n id,\n line,\n options,\n unwrappedCode,\n uri,\n }: IDefinitionParameters<IDefinitionOptions>) {\n this.code = code\n this.id = id\n this.line = line\n this.options = options\n this.unwrappedCode = unwrappedCode\n this.uri = uri\n }\n\n buildInvalidCodeLengthMessage(\n syncOrPromiseLength: number | string,\n callbackLength: number | string\n ): string {\n return (\n `function has ${this.code.length.toString()} arguments` +\n `, should have ${syncOrPromiseLength.toString()} (if synchronous or returning a promise)` +\n ` or ${callbackLength.toString()} (if accepting a callback)`\n )\n }\n\n baseGetInvalidCodeLengthMessage(parameters: any[]): string {\n return this.buildInvalidCodeLengthMessage(\n parameters.length,\n parameters.length + 1\n )\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"step_definition.js","sourceRoot":"","sources":["../../src/models/step_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AACpC,8DAKqB;AACrB,sDAAqD;AAErD,wDAA+B;AAC/B,oDAAgD;AAEhD,MAAqB,cAAe,SAAQ,oBAAU;IAIpD,YAAY,IAA+B;QACzC,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,IAAI,EACJ,KAAK,GACqB;QAC1B,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,GAAG,CACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACnE,CAAA;QACD,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,iBAAiB,GAAG,kCAAiB,CAAM,IAAI,CAAC,QAAQ,EAAE;gBAC9D,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,oBAAS,CAAC,GAAG,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO;aAChC,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SACnC;QACD,OAAO;YACL,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC;YAClD,UAAU;YACV,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;SAC7D,CAAA;IACH,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,OAAO,6BAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AAnCD,iCAmCC"}
1
+ {"version":3,"file":"step_definition.js","sourceRoot":"","sources":["../../src/models/step_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAoC;AACpC,8DAKqB;AACrB,sDAAqD;AAErD,wDAA+B;AAC/B,oDAAgD;AAEhD,MAAqB,cAAe,SAAQ,oBAAU;IAIpD,YAAY,IAA+B;QACzC,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,IAAI,EACJ,KAAK,GACqB;QAC1B,MAAM,UAAU,GAAG,MAAM,kBAAQ,CAAC,GAAG,CACnC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CACnE,CAAA;QACD,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAChC,MAAM,iBAAiB,GAAG,kCAAiB,CAAM,IAAI,CAAC,QAAQ,EAAE;gBAC9D,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,oBAAS,CAAC,GAAG,CAAC;gBACtC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO;aAChC,CAAC,CAAA;YACF,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;SACnC;QACD,OAAO;YACL,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC;YAClD,UAAU;YACV,gBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;SAC7D,CAAA;IACH,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,OAAO,6BAAa,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvD,CAAC;CACF;AAnCD,iCAmCC","sourcesContent":["import DataTable from './data_table'\nimport Definition, {\n IDefinition,\n IGetInvocationDataRequest,\n IGetInvocationDataResponse,\n IStepDefinitionParameters,\n} from './definition'\nimport { parseStepArgument } from '../step_arguments'\nimport { Expression } from '@cucumber/cucumber-expressions'\nimport bluebird from 'bluebird'\nimport { doesHaveValue } from '../value_checker'\n\nexport default class StepDefinition extends Definition implements IDefinition {\n public readonly pattern: string | RegExp\n public readonly expression: Expression\n\n constructor(data: IStepDefinitionParameters) {\n super(data)\n this.pattern = data.pattern\n this.expression = data.expression\n }\n\n async getInvocationParameters({\n step,\n world,\n }: IGetInvocationDataRequest): Promise<IGetInvocationDataResponse> {\n const parameters = await bluebird.all(\n this.expression.match(step.text).map((arg) => arg.getValue(world))\n )\n if (doesHaveValue(step.argument)) {\n const argumentParamater = parseStepArgument<any>(step.argument, {\n dataTable: (arg) => new DataTable(arg),\n docString: (arg) => arg.content,\n })\n parameters.push(argumentParamater)\n }\n return {\n getInvalidCodeLengthMessage: () =>\n this.baseGetInvalidCodeLengthMessage(parameters),\n parameters,\n validCodeLengths: [parameters.length, parameters.length + 1],\n }\n }\n\n matchesStepName(stepName: string): boolean {\n return doesHaveValue(this.expression.match(stepName))\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test_case_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_case_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC"}
1
+ {"version":3,"file":"test_case_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_case_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC","sourcesContent":["import { PickleTagFilter } from '../pickle_filter'\nimport Definition, {\n IDefinition,\n IDefinitionParameters,\n IGetInvocationDataRequest,\n IGetInvocationDataResponse,\n IHookDefinitionOptions,\n} from './definition'\nimport { messages } from '@cucumber/messages'\n\nexport default class TestCaseHookDefinition\n extends Definition\n implements IDefinition {\n public readonly tagExpression: string\n private readonly pickleTagFilter: PickleTagFilter\n\n constructor(data: IDefinitionParameters<IHookDefinitionOptions>) {\n super(data)\n this.tagExpression = data.options.tags\n this.pickleTagFilter = new PickleTagFilter(data.options.tags)\n }\n\n appliesToTestCase(pickle: messages.IPickle): boolean {\n return this.pickleTagFilter.matchesAllTagExpressions(pickle)\n }\n\n async getInvocationParameters({\n hookParameter,\n }: IGetInvocationDataRequest): Promise<IGetInvocationDataResponse> {\n return await Promise.resolve({\n getInvalidCodeLengthMessage: () =>\n this.buildInvalidCodeLengthMessage('0 or 1', '2'),\n parameters: [hookParameter],\n validCodeLengths: [0, 1, 2],\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test_run_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_run_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,qBAAsB,SAAQ,oBAAU;CAAG;AAAhE,wCAAgE"}
1
+ {"version":3,"file":"test_run_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_run_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,8DAAqC;AAErC,MAAqB,qBAAsB,SAAQ,oBAAU;CAAG;AAAhE,wCAAgE","sourcesContent":["import Definition from './definition'\n\nexport default class TestRunHookDefinition extends Definition {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"test_step_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_step_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC"}
1
+ {"version":3,"file":"test_step_hook_definition.js","sourceRoot":"","sources":["../../src/models/test_step_hook_definition.ts"],"names":[],"mappings":";;;;;AAAA,oDAAkD;AAClD,8DAMqB;AAGrB,MAAqB,sBACnB,SAAQ,oBAAU;IAKlB,YAAY,IAAmD;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAA;QACX,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,+BAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,iBAAiB,CAAC,MAAwB;QACxC,OAAO,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,EAC5B,aAAa,GACa;QAC1B,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3B,2BAA2B,EAAE,GAAG,EAAE,CAChC,IAAI,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC;YACnD,UAAU,EAAE,CAAC,aAAa,CAAC;YAC3B,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5B,CAAC,CAAA;IACJ,CAAC;CACF;AA1BD,yCA0BC","sourcesContent":["import { PickleTagFilter } from '../pickle_filter'\nimport Definition, {\n IDefinition,\n IGetInvocationDataResponse,\n IGetInvocationDataRequest,\n IDefinitionParameters,\n IHookDefinitionOptions,\n} from './definition'\nimport { messages } from '@cucumber/messages'\n\nexport default class TestStepHookDefinition\n extends Definition\n implements IDefinition {\n public readonly tagExpression: string\n private readonly pickleTagFilter: PickleTagFilter\n\n constructor(data: IDefinitionParameters<IHookDefinitionOptions>) {\n super(data)\n this.tagExpression = data.options.tags\n this.pickleTagFilter = new PickleTagFilter(data.options.tags)\n }\n\n appliesToTestCase(pickle: messages.IPickle): boolean {\n return this.pickleTagFilter.matchesAllTagExpressions(pickle)\n }\n\n async getInvocationParameters({\n hookParameter,\n }: IGetInvocationDataRequest): Promise<IGetInvocationDataResponse> {\n return await Promise.resolve({\n getInvalidCodeLengthMessage: () =>\n this.buildInvalidCodeLengthMessage('0 or 1', '2'),\n parameters: [hookParameter],\n validCodeLengths: [0, 1, 2],\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pickle_filter.js","sourceRoot":"","sources":["../src/pickle_filter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickle_filter.js","sourceRoot":"","sources":["../src/pickle_filter.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport path from 'path'\nimport parse from '@cucumber/tag-expressions'\nimport { getGherkinScenarioLocationMap } from './formatter/helpers/gherkin_document_parser'\nimport { doesHaveValue, doesNotHaveValue } from './value_checker'\nimport { messages } from '@cucumber/messages'\nimport IGherkinDocument = messages.IGherkinDocument\nimport IPickle = messages.IPickle\n\nconst FEATURE_LINENUM_REGEXP = /^(.*?)((?::[\\d]+)+)?$/\n\nexport interface IPickleFilterOptions {\n cwd: string\n featurePaths?: string[]\n names?: string[]\n tagExpression?: string\n}\n\nexport interface IMatchesAnyLineRequest {\n gherkinDocument: messages.IGherkinDocument\n pickle: messages.IPickle\n}\n\nexport default class PickleFilter {\n private readonly lineFilter: PickleLineFilter\n private readonly nameFilter: PickleNameFilter\n private readonly tagFilter: PickleTagFilter\n\n constructor({\n cwd,\n featurePaths,\n names,\n tagExpression,\n }: IPickleFilterOptions) {\n this.lineFilter = new PickleLineFilter(cwd, featurePaths)\n this.nameFilter = new PickleNameFilter(names)\n this.tagFilter = new PickleTagFilter(tagExpression)\n }\n\n matches({\n gherkinDocument,\n pickle,\n }: {\n gherkinDocument: IGherkinDocument\n pickle: IPickle\n }): boolean {\n return (\n this.lineFilter.matchesAnyLine({ gherkinDocument, pickle }) &&\n this.nameFilter.matchesAnyName(pickle) &&\n this.tagFilter.matchesAllTagExpressions(pickle)\n )\n }\n}\n\nexport class PickleLineFilter {\n private readonly featureUriToLinesMapping: Dictionary<number[]>\n\n constructor(cwd: string, featurePaths: string[] = []) {\n this.featureUriToLinesMapping = this.getFeatureUriToLinesMapping({\n cwd,\n featurePaths,\n })\n }\n\n getFeatureUriToLinesMapping({\n cwd,\n featurePaths,\n }: {\n cwd: string\n featurePaths: string[]\n }): Dictionary<number[]> {\n const mapping: Dictionary<number[]> = {}\n featurePaths.forEach((featurePath) => {\n const match = FEATURE_LINENUM_REGEXP.exec(featurePath)\n if (doesHaveValue(match)) {\n const uri = path.resolve(cwd, match[1])\n const linesExpression = match[2]\n if (doesHaveValue(linesExpression)) {\n if (doesNotHaveValue(mapping[uri])) {\n mapping[uri] = []\n }\n linesExpression\n .slice(1)\n .split(':')\n .forEach((line) => {\n mapping[uri].push(parseInt(line))\n })\n }\n }\n })\n return mapping\n }\n\n matchesAnyLine({ gherkinDocument, pickle }: IMatchesAnyLineRequest): boolean {\n const linesToMatch = this.featureUriToLinesMapping[pickle.uri]\n if (doesHaveValue(linesToMatch)) {\n const gherkinScenarioLocationMap = getGherkinScenarioLocationMap(\n gherkinDocument\n )\n const pickleLines = pickle.astNodeIds.map(\n (sourceId) => gherkinScenarioLocationMap[sourceId].line\n )\n return _.size(_.intersection(linesToMatch, pickleLines)) > 0\n }\n return true\n }\n}\n\nexport class PickleNameFilter {\n private readonly names: string[]\n\n constructor(names: string[] = []) {\n this.names = names\n }\n\n matchesAnyName(pickle: messages.IPickle): boolean {\n if (this.names.length === 0) {\n return true\n }\n return _.some(this.names, (name) => pickle.name.match(name))\n }\n}\n\nexport class PickleTagFilter {\n private readonly tagExpressionNode: any // cucumber-tag-expressions does not export interface\n\n constructor(tagExpression: string) {\n if (doesHaveValue(tagExpression) && tagExpression !== '') {\n this.tagExpressionNode = parse(tagExpression)\n }\n }\n\n matchesAllTagExpressions(pickle: messages.IPickle): boolean {\n if (doesNotHaveValue(this.tagExpressionNode)) {\n return true\n }\n return this.tagExpressionNode.evaluate(_.map(pickle.tags, 'name'))\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import stream from 'stream';
2
+ import { Readable } from 'stream';
3
3
  import { messages } from '@cucumber/messages';
4
4
  export interface IAttachmentMedia {
5
5
  encoding: messages.Attachment.ContentEncoding;
@@ -10,14 +10,14 @@ export interface IAttachment {
10
10
  media: IAttachmentMedia;
11
11
  }
12
12
  export declare type IAttachFunction = (attachment: IAttachment) => void;
13
- export declare type ICreateAttachment = (data: Buffer | stream.Readable | string, mediaType?: string, callback?: () => void) => void | Promise<void>;
13
+ export declare type ICreateAttachment = (data: Buffer | Readable | string, mediaType?: string, callback?: () => void) => void | Promise<void>;
14
14
  export declare type ICreateLog = (text: string) => void | Promise<void>;
15
15
  export default class AttachmentManager {
16
16
  private readonly onAttachment;
17
17
  constructor(onAttachment: IAttachFunction);
18
18
  log(text: string): void | Promise<void>;
19
- create(data: Buffer | stream.Readable | string, mediaType?: string, callback?: () => void): void | Promise<void>;
19
+ create(data: Buffer | Readable | string, mediaType?: string, callback?: () => void): void | Promise<void>;
20
20
  createBufferAttachment(data: Buffer, mediaType: string): void;
21
- createStreamAttachment(data: stream.Readable, mediaType: string, callback: () => void): void | Promise<void>;
21
+ createStreamAttachment(data: Readable, mediaType: string, callback: () => void): void | Promise<void>;
22
22
  createStringAttachment(data: string, media: IAttachmentMedia): void;
23
23
  }
@@ -30,10 +30,18 @@ class AttachmentManager {
30
30
  if (value_checker_1.doesNotHaveValue(mediaType)) {
31
31
  mediaType = 'text/plain';
32
32
  }
33
- this.createStringAttachment(data, {
34
- encoding: messages_1.messages.Attachment.ContentEncoding.IDENTITY,
35
- contentType: mediaType,
36
- });
33
+ if (mediaType.startsWith('base64:')) {
34
+ this.createStringAttachment(data, {
35
+ encoding: messages_1.messages.Attachment.ContentEncoding.BASE64,
36
+ contentType: mediaType.replace('base64:', ''),
37
+ });
38
+ }
39
+ else {
40
+ this.createStringAttachment(data, {
41
+ encoding: messages_1.messages.Attachment.ContentEncoding.IDENTITY,
42
+ contentType: mediaType,
43
+ });
44
+ }
37
45
  }
38
46
  else {
39
47
  throw Error('Invalid attachment data: must be a buffer, readable stream, or string');
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/attachment_manager/index.ts"],"names":[],"mappings":";;;;;AAAA,0DAAgC;AAEhC,iDAA6C;AAC7C,uDAAqE;AAoBrE,MAAqB,iBAAiB;IAGpC,YAAY,YAA6B;QACvC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAA;IACvD,CAAC;IAED,MAAM,CACJ,IAAuC,EACvC,SAAkB,EAClB,QAAqB;QAErB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,gCAAgB,CAAC,SAAS,CAAC,EAAE;gBAC/B,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAA;aAC5D;YACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;SAC7C;aAAM,IAAI,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YAClC,IAAI,gCAAgB,CAAC,SAAS,CAAC,EAAE;gBAC/B,MAAM,KAAK,CAAC,8CAA8C,CAAC,CAAA;aAC5D;YACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;SAC9D;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACnC,IAAI,gCAAgB,CAAC,SAAS,CAAC,EAAE;gBAC/B,SAAS,GAAG,YAAY,CAAA;aACzB;YACD,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE;gBAChC,QAAQ,EAAE,mBAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,QAAQ;gBACtD,WAAW,EAAE,SAAS;aACvB,CAAC,CAAA;SACH;aAAM;YACL,MAAM,KAAK,CACT,uEAAuE,CACxE,CAAA;SACF;IACH,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,SAAiB;QACpD,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACnD,QAAQ,EAAE,mBAAQ,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM;YACpD,WAAW,EAAE,SAAS;SACvB,CAAC,CAAA;IACJ,CAAC;IAED,sBAAsB,CACpB,IAAqB,EACrB,SAAiB,EACjB,QAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,MAAM,OAAO,GAAiB,EAAE,CAAA;YAChC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAA;gBAC9D,OAAO,EAAE,CAAA;YACX,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,6BAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;SACjC;aAAM;YACL,OAAO,OAAO,CAAA;SACf;IACH,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,KAAuB;QAC1D,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACpC,CAAC;CACF;AA1ED,oCA0EC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/attachment_manager/index.ts"],"names":[],"mappings":"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","sourcesContent":["import isStream from 'is-stream'\nimport { Readable } from 'stream'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue, doesNotHaveValue } from '../../value_checker'\n\nexport interface IAttachmentMedia {\n encoding: messages.Attachment.ContentEncoding\n contentType: string\n}\n\nexport interface IAttachment {\n data: string\n media: IAttachmentMedia\n}\n\nexport type IAttachFunction = (attachment: IAttachment) => void\nexport type ICreateAttachment = (\n data: Buffer | Readable | string,\n mediaType?: string,\n callback?: () => void\n) => void | Promise<void>\nexport type ICreateLog = (text: string) => void | Promise<void>\n\nexport default class AttachmentManager {\n private readonly onAttachment: IAttachFunction\n\n constructor(onAttachment: IAttachFunction) {\n this.onAttachment = onAttachment\n }\n\n log(text: string): void | Promise<void> {\n return this.create(text, 'text/x.cucumber.log+plain')\n }\n\n create(\n data: Buffer | Readable | string,\n mediaType?: string,\n callback?: () => void\n ): void | Promise<void> {\n if (Buffer.isBuffer(data)) {\n if (doesNotHaveValue(mediaType)) {\n throw Error('Buffer attachments must specify a media type')\n }\n this.createBufferAttachment(data, mediaType)\n } else if (isStream.readable(data)) {\n if (doesNotHaveValue(mediaType)) {\n throw Error('Stream attachments must specify a media type')\n }\n return this.createStreamAttachment(data, mediaType, callback)\n } else if (typeof data === 'string') {\n if (doesNotHaveValue(mediaType)) {\n mediaType = 'text/plain'\n }\n if (mediaType.startsWith('base64:')) {\n this.createStringAttachment(data, {\n encoding: messages.Attachment.ContentEncoding.BASE64,\n contentType: mediaType.replace('base64:', ''),\n })\n } else {\n this.createStringAttachment(data, {\n encoding: messages.Attachment.ContentEncoding.IDENTITY,\n contentType: mediaType,\n })\n }\n } else {\n throw Error(\n 'Invalid attachment data: must be a buffer, readable stream, or string'\n )\n }\n }\n\n createBufferAttachment(data: Buffer, mediaType: string): void {\n this.createStringAttachment(data.toString('base64'), {\n encoding: messages.Attachment.ContentEncoding.BASE64,\n contentType: mediaType,\n })\n }\n\n createStreamAttachment(\n data: Readable,\n mediaType: string,\n callback: () => void\n ): void | Promise<void> {\n const promise = new Promise<void>((resolve, reject) => {\n const buffers: Uint8Array[] = []\n data.on('data', (chunk) => {\n buffers.push(chunk)\n })\n data.on('end', () => {\n this.createBufferAttachment(Buffer.concat(buffers), mediaType)\n resolve()\n })\n data.on('error', reject)\n })\n if (doesHaveValue(callback)) {\n promise.then(callback, callback)\n } else {\n return promise\n }\n }\n\n createStringAttachment(data: string, media: IAttachmentMedia): void {\n this.onAttachment({ data, media })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAsE;AACtE,4DAA8B;AAC9B,kEAAwC;AACxC,oDAAkD;AAKlD,SAAgB,yBAAyB,CACvC,eAAiC;IAEjC,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,EAAE;YACR,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,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,KAAK,CAAC,IAAI,CACR,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACjD,OAAO,CAAC,OAAO,EAAE,iCAAc,CAAC,cAAc,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CACH,CAAA;IACD,OAAO,GAAG,kCAAkC,GAAG,IAAI,GAAG,uBAAY,CAChE,KAAK,CAAC,QAAQ,EAAE,EAChB,CAAC,CACF,EAAE,CAAA;AACL,CAAC;AArCD,8DAqCC;AAED,SAAgB,gBAAgB,CAC9B,MAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7B,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,CAAA;KACT;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAC7C,IAAI,cAAc,KAAK,EAAE,EAAE;QACzB,OAAO,OAAO,CAAA;KACf;IACD,MAAM,eAAe,GAAG,IAAI,+BAAe,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAI,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;QACpD,OAAO,OAAO,CAAA;KACf;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAjBD,4CAiBC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/runtime/helpers.ts"],"names":[],"mappings":";;;;;;AAAA,4EAAsE;AACtE,4DAA8B;AAC9B,kEAAwC;AACxC,oDAAkD;AAKlD,SAAgB,yBAAyB,CACvC,eAAiC;IAEjC,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,EAAE;YACR,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,EAAE;YACP,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,EAAE;YACT,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,KAAK,CAAC,IAAI,CACR,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAA;QACjD,OAAO,CAAC,OAAO,EAAE,iCAAc,CAAC,cAAc,CAAC,CAAC,CAAA;IAClD,CAAC,CAAC,CACH,CAAA;IACD,OAAO,GAAG,kCAAkC,GAAG,IAAI,GAAG,uBAAY,CAChE,KAAK,CAAC,QAAQ,EAAE,EAChB,CAAC,CACF,EAAE,CAAA;AACL,CAAC;AArCD,8DAqCC;AAED,SAAgB,gBAAgB,CAC9B,MAAwB,EACxB,OAAwB;IAExB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAA;IAC7B,IAAI,OAAO,KAAK,CAAC,EAAE;QACjB,OAAO,CAAC,CAAA;KACT;IACD,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAA;IAC7C,IAAI,cAAc,KAAK,EAAE,EAAE;QACzB,OAAO,OAAO,CAAA;KACf;IACD,MAAM,eAAe,GAAG,IAAI,+BAAe,CAAC,cAAc,CAAC,CAAA;IAC3D,IAAI,eAAe,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAE;QACpD,OAAO,OAAO,CAAA;KACf;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAjBD,4CAiBC","sourcesContent":["import { formatLocation } from '../formatter/helpers/location_helpers'\nimport Table from 'cli-table3'\nimport indentString from 'indent-string'\nimport { PickleTagFilter } from '../pickle_filter'\nimport StepDefinition from '../models/step_definition'\nimport { messages } from '@cucumber/messages'\nimport { IRuntimeOptions } from '.'\n\nexport function getAmbiguousStepException(\n stepDefinitions: StepDefinition[]\n): 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': 0,\n 'padding-right': 0,\n },\n })\n table.push(\n ...stepDefinitions.map((stepDefinition) => {\n const pattern = stepDefinition.pattern.toString()\n return [pattern, formatLocation(stepDefinition)]\n })\n )\n return `${'Multiple step definitions match:' + '\\n'}${indentString(\n table.toString(),\n 2\n )}`\n}\n\nexport function retriesForPickle(\n pickle: messages.IPickle,\n options: IRuntimeOptions\n): number {\n const retries = options.retry\n if (retries === 0) {\n return 0\n }\n const retryTagFilter = options.retryTagFilter\n if (retryTagFilter === '') {\n return retries\n }\n const pickleTagFilter = new PickleTagFilter(retryTagFilter)\n if (pickleTagFilter.matchesAllTagExpressions(pickle)) {\n return retries\n }\n return 0\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { clone } from 'lodash'\nimport { EventDataCollector, formatLocation } from '../formatter/helpers'\nimport bluebird from 'bluebird'\nimport StackTraceFilter from '../stack_trace_filter'\nimport Status from '../status'\nimport UserCodeRunner from '../user_code_runner'\nimport VError from 'verror'\nimport { retriesForPickle } from './helpers'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport PickleRunner from './pickle_runner'\nimport { EventEmitter } from 'events'\nimport { ISupportCodeLibrary } from '../support_code_library_builder/types'\nimport TestRunHookDefinition from '../models/test_run_hook_definition'\nimport { doesHaveValue, valueOrDefault } from '../value_checker'\nimport {\n ITestRunStopwatch,\n PredictableTestRunStopwatch,\n RealTestRunStopwatch,\n} from './stopwatch'\n\nexport interface INewRuntimeOptions {\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n newId: IdGenerator.NewId\n options: IRuntimeOptions\n pickleIds: string[]\n supportCodeLibrary: ISupportCodeLibrary\n}\n\nexport interface IRuntimeOptions {\n dryRun: boolean\n predictableIds: boolean\n failFast: boolean\n filterStacktraces: boolean\n retry: number\n retryTagFilter: string\n strict: boolean\n worldParameters: any\n}\n\nexport default class Runtime {\n private readonly eventBroadcaster: EventEmitter\n private readonly eventDataCollector: EventDataCollector\n private readonly stopwatch: ITestRunStopwatch\n private readonly newId: IdGenerator.NewId\n private readonly options: IRuntimeOptions\n private readonly pickleIds: string[]\n private readonly stackTraceFilter: StackTraceFilter\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private success: boolean\n\n constructor({\n eventBroadcaster,\n eventDataCollector,\n newId,\n options,\n pickleIds,\n supportCodeLibrary,\n }: INewRuntimeOptions) {\n this.eventBroadcaster = eventBroadcaster\n this.eventDataCollector = eventDataCollector\n this.stopwatch = options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n this.newId = newId\n this.options = options\n this.pickleIds = pickleIds\n this.stackTraceFilter = new StackTraceFilter()\n this.supportCodeLibrary = supportCodeLibrary\n this.success = true\n }\n\n async runTestRunHooks(\n definitions: TestRunHookDefinition[],\n name: string\n ): Promise<void> {\n if (this.options.dryRun) {\n return\n }\n await bluebird.each(\n definitions,\n async (hookDefinition: TestRunHookDefinition) => {\n const { error } = await UserCodeRunner.run({\n argsArray: [],\n fn: hookDefinition.code,\n thisArg: null,\n timeoutInMilliseconds: valueOrDefault(\n hookDefinition.options.timeout,\n this.supportCodeLibrary.defaultTimeout\n ),\n })\n if (doesHaveValue(error)) {\n const location = formatLocation(hookDefinition)\n throw new VError(\n error,\n `${name} hook errored, process exiting: ${location}`\n )\n }\n }\n )\n }\n\n async runPickle(pickleId: string): Promise<void> {\n const pickle = this.eventDataCollector.getPickle(pickleId)\n const retries = retriesForPickle(pickle, this.options)\n const skip = this.options.dryRun || (this.options.failFast && !this.success)\n const pickleRunner = new PickleRunner({\n eventBroadcaster: this.eventBroadcaster,\n stopwatch: this.stopwatch,\n gherkinDocument: this.eventDataCollector.getGherkinDocument(pickle.uri),\n newId: this.newId,\n pickle,\n retries,\n skip,\n supportCodeLibrary: this.supportCodeLibrary,\n worldParameters: this.options.worldParameters,\n })\n const status = await pickleRunner.run()\n if (this.shouldCauseFailure(status)) {\n this.success = false\n }\n }\n\n async start(): Promise<boolean> {\n if (this.options.filterStacktraces) {\n this.stackTraceFilter.filter()\n }\n this.eventBroadcaster.emit(\n 'envelope',\n new messages.Envelope({\n testRunStarted: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.stopwatch.start()\n await this.runTestRunHooks(\n this.supportCodeLibrary.beforeTestRunHookDefinitions,\n 'a BeforeAll'\n )\n await bluebird.each(this.pickleIds, this.runPickle.bind(this))\n await this.runTestRunHooks(\n clone(this.supportCodeLibrary.afterTestRunHookDefinitions).reverse(),\n 'an AfterAll'\n )\n this.stopwatch.stop()\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testRunFinished: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n if (this.options.filterStacktraces) {\n this.stackTraceFilter.unfilter()\n }\n return this.success\n }\n\n shouldCauseFailure(\n status: messages.TestStepFinished.TestStepResult.Status\n ): boolean {\n return (\n _.includes([Status.AMBIGUOUS, Status.FAILED, Status.UNDEFINED], status) ||\n (status === Status.PENDING && this.options.strict)\n )\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"command_types.js","sourceRoot":"","sources":["../../../src/runtime/parallel/command_types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"command_types.js","sourceRoot":"","sources":["../../../src/runtime/parallel/command_types.ts"],"names":[],"mappings":"","sourcesContent":["import { messages } from '@cucumber/messages'\nimport { IRuntimeOptions } from '../index'\n\n// Messages from Coordinator to Worker\n\nexport interface IWorkerCommand {\n initialize?: IWorkerCommandInitialize\n run?: IWorkerCommandRun\n finalize?: boolean\n}\n\nexport interface IWorkerCommandInitialize {\n filterStacktraces: boolean\n supportCodePaths: string[]\n supportCodeRequiredModules: string[]\n options: IRuntimeOptions\n}\n\nexport interface IWorkerCommandRun {\n retries: number\n skip: boolean\n elapsed: number\n pickle: messages.IPickle\n gherkinDocument: messages.IGherkinDocument\n}\n\n// Messages from Worker to Coordinator\n\nexport interface ICoordinatorReport {\n jsonEnvelope?: string\n ready?: boolean\n supportCodeIds?: ICoordinatorReportSupportCodeIds\n}\n\nexport interface ICoordinatorReportSupportCodeIds {\n stepDefinitionIds: string[]\n beforeTestCaseHookDefinitionIds: string[]\n afterTestCaseHookDefinitionIds: string[]\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/parallel/coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coordinator.js","sourceRoot":"","sources":["../../../src/runtime/parallel/coordinator.ts"],"names":[],"mappings":"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","sourcesContent":["import _, { Dictionary } from 'lodash'\nimport { ChildProcess, fork } from 'child_process'\nimport path from 'path'\nimport Status from '../../status'\nimport { retriesForPickle } from '../helpers'\nimport { messages } from '@cucumber/messages'\nimport { EventEmitter } from 'events'\nimport { EventDataCollector } from '../../formatter/helpers'\nimport { IRuntimeOptions } from '..'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport {\n ICoordinatorReport,\n ICoordinatorReportSupportCodeIds,\n IWorkerCommand,\n} from './command_types'\nimport { doesHaveValue } from '../../value_checker'\nimport {\n ITestRunStopwatch,\n PredictableTestRunStopwatch,\n RealTestRunStopwatch,\n} from '../stopwatch'\n\nconst runWorkerPath = path.resolve(__dirname, 'run_worker.js')\n\nexport interface INewCoordinatorOptions {\n cwd: string\n eventBroadcaster: EventEmitter\n eventDataCollector: EventDataCollector\n options: IRuntimeOptions\n pickleIds: string[]\n supportCodeLibrary: ISupportCodeLibrary\n supportCodePaths: string[]\n supportCodeRequiredModules: string[]\n}\n\ninterface IWorker {\n closed: boolean\n process: ChildProcess\n}\n\nexport default class Coordinator {\n private readonly cwd: string\n private readonly eventBroadcaster: EventEmitter\n private readonly eventDataCollector: EventDataCollector\n private readonly stopwatch: ITestRunStopwatch\n private onFinish: (success: boolean) => void\n private nextPickleIdIndex: number\n private readonly options: IRuntimeOptions\n private readonly pickleIds: string[]\n private workers: Dictionary<IWorker>\n private supportCodeIdMap: Dictionary<string>\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private readonly supportCodePaths: string[]\n private readonly supportCodeRequiredModules: string[]\n private success: boolean\n\n constructor({\n cwd,\n eventBroadcaster,\n eventDataCollector,\n pickleIds,\n options,\n supportCodeLibrary,\n supportCodePaths,\n supportCodeRequiredModules,\n }: INewCoordinatorOptions) {\n this.cwd = cwd\n this.eventBroadcaster = eventBroadcaster\n this.eventDataCollector = eventDataCollector\n this.stopwatch = options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n this.options = options\n this.supportCodeLibrary = supportCodeLibrary\n this.supportCodePaths = supportCodePaths\n this.supportCodeRequiredModules = supportCodeRequiredModules\n this.pickleIds = pickleIds\n this.nextPickleIdIndex = 0\n this.success = true\n this.workers = {}\n this.supportCodeIdMap = {}\n }\n\n parseWorkerMessage(worker: IWorker, message: ICoordinatorReport): void {\n if (doesHaveValue(message.supportCodeIds)) {\n this.saveDefinitionIdMapping(message.supportCodeIds)\n } else if (message.ready) {\n this.giveWork(worker)\n } else if (doesHaveValue(message.jsonEnvelope)) {\n const envelope = messages.Envelope.fromObject(\n JSON.parse(message.jsonEnvelope)\n )\n this.eventBroadcaster.emit('envelope', envelope)\n if (doesHaveValue(envelope.testCase)) {\n this.remapDefinitionIds(envelope.testCase)\n }\n if (doesHaveValue(envelope.testCaseFinished)) {\n this.parseTestCaseResult(envelope.testCaseFinished)\n }\n } else {\n throw new Error(\n `Unexpected message from worker: ${JSON.stringify(message)}`\n )\n }\n }\n\n saveDefinitionIdMapping(message: ICoordinatorReportSupportCodeIds): void {\n _.each(message.stepDefinitionIds, (id: string, index: number) => {\n this.supportCodeIdMap[id] = this.supportCodeLibrary.stepDefinitions[\n index\n ].id\n })\n _.each(\n message.beforeTestCaseHookDefinitionIds,\n (id: string, index: number) => {\n this.supportCodeIdMap[\n id\n ] = this.supportCodeLibrary.beforeTestCaseHookDefinitions[index].id\n }\n )\n _.each(\n message.afterTestCaseHookDefinitionIds,\n (id: string, index: number) => {\n this.supportCodeIdMap[\n id\n ] = this.supportCodeLibrary.afterTestCaseHookDefinitions[index].id\n }\n )\n }\n\n remapDefinitionIds(testCase: messages.ITestCase): void {\n for (const testStep of testCase.testSteps) {\n if (testStep.hookId !== '') {\n testStep.hookId = this.supportCodeIdMap[testStep.hookId]\n }\n if (doesHaveValue(testStep.stepDefinitionIds)) {\n testStep.stepDefinitionIds = testStep.stepDefinitionIds.map(\n (id) => this.supportCodeIdMap[id]\n )\n }\n }\n }\n\n startWorker(id: string, total: number): void {\n const workerProcess = fork(runWorkerPath, [], {\n cwd: this.cwd,\n env: _.assign({}, process.env, {\n CUCUMBER_PARALLEL: 'true',\n CUCUMBER_TOTAL_WORKERS: total,\n CUCUMBER_WORKER_ID: id,\n }),\n stdio: ['inherit', 'inherit', 'inherit', 'ipc'],\n })\n const worker = { closed: false, process: workerProcess }\n this.workers[id] = worker\n worker.process.on('message', (message: ICoordinatorReport) => {\n this.parseWorkerMessage(worker, message)\n })\n worker.process.on('close', (exitCode) => {\n worker.closed = true\n this.onWorkerProcessClose(exitCode)\n })\n const initializeCommand: IWorkerCommand = {\n initialize: {\n filterStacktraces: this.options.filterStacktraces,\n supportCodePaths: this.supportCodePaths,\n supportCodeRequiredModules: this.supportCodeRequiredModules,\n options: this.options,\n },\n }\n worker.process.send(initializeCommand)\n }\n\n onWorkerProcessClose(exitCode: number): void {\n if (exitCode !== 0) {\n this.success = false\n }\n if (_.every(this.workers, 'closed')) {\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testRunFinished: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.onFinish(this.success)\n }\n }\n\n parseTestCaseResult(testCaseFinished: messages.ITestCaseFinished): void {\n const { worstTestStepResult } = this.eventDataCollector.getTestCaseAttempt(\n testCaseFinished.testCaseStartedId\n )\n if (\n !worstTestStepResult.willBeRetried &&\n this.shouldCauseFailure(worstTestStepResult.status)\n ) {\n this.success = false\n }\n }\n\n run(numberOfWorkers: number, done: (success: boolean) => void): void {\n this.eventBroadcaster.emit(\n 'envelope',\n new messages.Envelope({\n testRunStarted: {\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.stopwatch.start()\n _.times(numberOfWorkers, (id) =>\n this.startWorker(id.toString(), numberOfWorkers)\n )\n this.onFinish = done\n }\n\n giveWork(worker: IWorker): void {\n if (this.nextPickleIdIndex === this.pickleIds.length) {\n const finalizeCommand: IWorkerCommand = { finalize: true }\n worker.process.send(finalizeCommand)\n return\n }\n const pickleId = this.pickleIds[this.nextPickleIdIndex]\n this.nextPickleIdIndex += 1\n const pickle = this.eventDataCollector.getPickle(pickleId)\n const gherkinDocument = this.eventDataCollector.getGherkinDocument(\n pickle.uri\n )\n const retries = retriesForPickle(pickle, this.options)\n const skip = this.options.dryRun || (this.options.failFast && !this.success)\n const runCommand: IWorkerCommand = {\n run: {\n retries,\n skip,\n elapsed: this.stopwatch.duration().nanos(),\n pickle,\n gherkinDocument,\n },\n }\n worker.process.send(runCommand)\n }\n\n shouldCauseFailure(\n status: messages.TestStepFinished.TestStepResult.Status\n ): boolean {\n return (\n _.includes([Status.AMBIGUOUS, Status.FAILED, Status.UNDEFINED], status) ||\n (status === Status.PENDING && this.options.strict)\n )\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"run_worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/run_worker.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,oDAA2B;AAC3B,uDAAmD;AAEnD,SAAS,GAAG;IACV,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB,EAAQ,EAAE;QACvE,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,IAAI,gBAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,iCAAiC;SAC9F;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACxB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClC,WAAW,EAAE,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI;KACL,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAM,EAAQ,EAAE;QACrC,MAAM;aACH,cAAc,CAAC,CAAC,CAAC;aACjB,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CACtB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,2CAA2C,CAAC,CAC5D,CAAA;IACL,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"run_worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/run_worker.ts"],"names":[],"mappings":";;;;;AAAA,sDAA6B;AAC7B,oDAA2B;AAC3B,uDAAmD;AAEnD,SAAS,GAAG;IACV,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,KAAa,EAAE,OAAgB,EAAQ,EAAE;QACvE,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,gBAAM,CAAC,SAAS,CAAC,IAAI,gBAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA,CAAC,iCAAiC;SAC9F;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACxB,CAAC,CAAA;IACD,MAAM,MAAM,GAAG,IAAI,gBAAM,CAAC;QACxB,EAAE,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAClC,WAAW,EAAE,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QACpD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI;KACL,CAAC,CAAA;IACF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAM,EAAQ,EAAE;QACrC,MAAM;aACH,cAAc,CAAC,CAAC,CAAC;aACjB,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CACtB,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,2CAA2C,CAAC,CAC5D,CAAA;IACL,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,GAAG,EAAE,CAAA","sourcesContent":["import Worker from './worker'\nimport VError from 'verror'\nimport { doesHaveValue } from '../../value_checker'\n\nfunction run(): void {\n const exit = (exitCode: number, error?: Error, message?: string): void => {\n if (doesHaveValue(error)) {\n console.error(VError.fullStack(new VError(error, message))) // eslint-disable-line no-console\n }\n process.exit(exitCode)\n }\n const worker = new Worker({\n id: process.env.CUCUMBER_WORKER_ID,\n sendMessage: (message: any) => process.send(message),\n cwd: process.cwd(),\n exit,\n })\n process.on('message', (m: any): void => {\n worker\n .receiveMessage(m)\n .catch((error: Error) =>\n exit(1, error, 'Unexpected error on worker.receiveMessage')\n )\n })\n}\n\nrun()\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtime/parallel/worker.ts"],"names":[],"mappings":"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","sourcesContent":["import { formatLocation } from '../../formatter/helpers'\nimport {\n ICoordinatorReport,\n IWorkerCommand,\n IWorkerCommandInitialize,\n IWorkerCommandRun,\n} from './command_types'\nimport { EventEmitter } from 'events'\nimport bluebird from 'bluebird'\nimport StackTraceFilter from '../../stack_trace_filter'\nimport supportCodeLibraryBuilder from '../../support_code_library_builder'\nimport PickleRunner from '../pickle_runner'\nimport UserCodeRunner from '../../user_code_runner'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport TestRunHookDefinition from '../../models/test_run_hook_definition'\nimport { ISupportCodeLibrary } from '../../support_code_library_builder/types'\nimport { doesHaveValue, valueOrDefault } from '../../value_checker'\nimport { IRuntimeOptions } from '../index'\nimport { PredictableTestRunStopwatch, RealTestRunStopwatch } from '../stopwatch'\nimport { duration } from 'durations'\n\nconst { uuid } = IdGenerator\n\ntype IExitFunction = (exitCode: number, error?: Error, message?: string) => void\ntype IMessageSender = (command: ICoordinatorReport) => void\n\nexport default class Worker {\n private readonly cwd: string\n private readonly exit: IExitFunction\n\n private readonly id: string\n private readonly eventBroadcaster: EventEmitter\n private filterStacktraces: boolean\n private readonly newId: IdGenerator.NewId\n private readonly sendMessage: IMessageSender\n private readonly stackTraceFilter: StackTraceFilter\n private supportCodeLibrary: ISupportCodeLibrary\n private worldParameters: any\n private options: IRuntimeOptions\n\n constructor({\n cwd,\n exit,\n id,\n sendMessage,\n }: {\n cwd: string\n exit: IExitFunction\n id: string\n sendMessage: IMessageSender\n }) {\n this.id = id\n this.newId = uuid()\n this.cwd = cwd\n this.exit = exit\n this.sendMessage = sendMessage\n this.eventBroadcaster = new EventEmitter()\n this.stackTraceFilter = new StackTraceFilter()\n this.eventBroadcaster.on('envelope', (envelope: messages.Envelope) => {\n this.sendMessage({\n jsonEnvelope: JSON.stringify(envelope.toJSON()),\n })\n })\n }\n\n async initialize({\n filterStacktraces,\n supportCodeRequiredModules,\n supportCodePaths,\n options,\n }: IWorkerCommandInitialize): Promise<void> {\n supportCodeRequiredModules.map((module) => require(module))\n supportCodeLibraryBuilder.reset(this.cwd, this.newId)\n supportCodePaths.forEach((codePath) => require(codePath))\n this.supportCodeLibrary = supportCodeLibraryBuilder.finalize()\n this.sendMessage({\n supportCodeIds: {\n stepDefinitionIds: this.supportCodeLibrary.stepDefinitions.map(\n (s) => s.id\n ),\n beforeTestCaseHookDefinitionIds: this.supportCodeLibrary.beforeTestCaseHookDefinitions.map(\n (h) => h.id\n ),\n afterTestCaseHookDefinitionIds: this.supportCodeLibrary.afterTestCaseHookDefinitions.map(\n (h) => h.id\n ),\n },\n })\n this.worldParameters = options.worldParameters\n this.options = options\n this.filterStacktraces = filterStacktraces\n if (this.filterStacktraces) {\n this.stackTraceFilter.filter()\n }\n await this.runTestRunHooks(\n this.supportCodeLibrary.beforeTestRunHookDefinitions,\n 'a BeforeAll'\n )\n this.sendMessage({ ready: true })\n }\n\n async finalize(): Promise<void> {\n await this.runTestRunHooks(\n this.supportCodeLibrary.afterTestRunHookDefinitions,\n 'an AfterAll'\n )\n if (this.filterStacktraces) {\n this.stackTraceFilter.unfilter()\n }\n this.exit(0)\n }\n\n async receiveMessage(message: IWorkerCommand): Promise<void> {\n if (doesHaveValue(message.initialize)) {\n await this.initialize(message.initialize)\n } else if (message.finalize) {\n await this.finalize()\n } else if (doesHaveValue(message.run)) {\n await this.runTestCase(message.run)\n }\n }\n\n async runTestCase({\n gherkinDocument,\n pickle,\n elapsed,\n retries,\n skip,\n }: IWorkerCommandRun): Promise<void> {\n const stopwatch = this.options.predictableIds\n ? new PredictableTestRunStopwatch()\n : new RealTestRunStopwatch()\n stopwatch.from(duration(elapsed))\n const pickleRunner = new PickleRunner({\n eventBroadcaster: this.eventBroadcaster,\n stopwatch,\n gherkinDocument,\n newId: this.newId,\n pickle,\n retries,\n skip,\n supportCodeLibrary: this.supportCodeLibrary,\n worldParameters: this.worldParameters,\n })\n await pickleRunner.run()\n this.sendMessage({ ready: true })\n }\n\n async runTestRunHooks(\n testRunHookDefinitions: TestRunHookDefinition[],\n name: string\n ): Promise<void> {\n if (this.options.dryRun) {\n return\n }\n await bluebird.each(testRunHookDefinitions, async (hookDefinition) => {\n const { error } = await UserCodeRunner.run({\n argsArray: [],\n fn: hookDefinition.code,\n thisArg: null,\n timeoutInMilliseconds: valueOrDefault(\n hookDefinition.options.timeout,\n this.supportCodeLibrary.defaultTimeout\n ),\n })\n if (doesHaveValue(error)) {\n const location = formatLocation(hookDefinition)\n this.exit(\n 1,\n error,\n `${name} hook errored on worker ${this.id}, process exiting: ${location}`\n )\n }\n })\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"pickle_runner.js","sourceRoot":"","sources":["../../src/runtime/pickle_runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pickle_runner.js","sourceRoot":"","sources":["../../src/runtime/pickle_runner.ts"],"names":[],"mappings":"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","sourcesContent":["import { clone } from 'lodash'\nimport { getAmbiguousStepException } from './helpers'\nimport AttachmentManager from './attachment_manager'\nimport StepRunner from './step_runner'\nimport { IdGenerator, messages } from '@cucumber/messages'\nimport { addDurations, getZeroDuration } from '../time'\nimport { EventEmitter } from 'events'\nimport {\n ISupportCodeLibrary,\n ITestCaseHookParameter,\n ITestStepHookParameter,\n} from '../support_code_library_builder/types'\nimport TestCaseHookDefinition from '../models/test_case_hook_definition'\nimport TestStepHookDefinition from '../models/test_step_hook_definition'\nimport StepDefinition from '../models/step_definition'\nimport { IDefinition } from '../models/definition'\nimport { doesHaveValue, doesNotHaveValue } from '../value_checker'\nimport { ITestRunStopwatch } from './stopwatch'\nimport { Group } from '@cucumber/cucumber-expressions'\nimport { Query } from '@cucumber/query'\n\nconst { Status } = messages.TestStepFinished.TestStepResult\n\ninterface ITestStep {\n id: string\n isBeforeHook?: boolean\n isHook: boolean\n hookDefinition?: TestCaseHookDefinition\n stepHookDefinition?: TestStepHookDefinition\n pickleStep?: messages.Pickle.IPickleStep\n stepDefinitions?: StepDefinition[]\n}\n\nexport interface INewPickleRunnerOptions {\n eventBroadcaster: EventEmitter\n stopwatch: ITestRunStopwatch\n gherkinDocument: messages.IGherkinDocument\n newId: IdGenerator.NewId\n pickle: messages.IPickle\n retries: number\n skip: boolean\n supportCodeLibrary: ISupportCodeLibrary\n worldParameters: any\n}\n\nexport default class PickleRunner {\n private readonly attachmentManager: AttachmentManager\n private currentTestCaseStartedId: string\n private currentTestStepId: string\n private readonly eventBroadcaster: EventEmitter\n private readonly stopwatch: ITestRunStopwatch\n private readonly gherkinDocument: messages.IGherkinDocument\n private readonly newId: IdGenerator.NewId\n private readonly pickle: messages.IPickle\n private readonly maxAttempts: number\n private readonly skip: boolean\n private readonly supportCodeLibrary: ISupportCodeLibrary\n private readonly testCaseId: string\n private readonly testSteps: ITestStep[]\n private testStepResults: messages.TestStepFinished.ITestStepResult[]\n private world: any\n private readonly worldParameters: any\n\n constructor({\n eventBroadcaster,\n stopwatch,\n gherkinDocument,\n newId,\n pickle,\n retries = 0,\n skip,\n supportCodeLibrary,\n worldParameters,\n }: INewPickleRunnerOptions) {\n this.attachmentManager = new AttachmentManager(({ data, media }) => {\n if (doesNotHaveValue(this.currentTestStepId)) {\n throw new Error(\n 'Cannot attach when a step/hook is not running. Ensure your step/hook waits for the attach to finish.'\n )\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n attachment: {\n body: data,\n contentEncoding: media.encoding,\n mediaType: media.contentType,\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId: this.currentTestStepId,\n },\n })\n )\n })\n this.eventBroadcaster = eventBroadcaster\n this.stopwatch = stopwatch\n this.gherkinDocument = gherkinDocument\n this.maxAttempts = 1 + (skip ? 0 : retries)\n this.newId = newId\n this.pickle = pickle\n this.skip = skip\n this.supportCodeLibrary = supportCodeLibrary\n this.worldParameters = worldParameters\n this.testCaseId = this.newId()\n this.testSteps = this.buildTestSteps()\n this.resetTestProgressData()\n }\n\n resetTestProgressData(): void {\n this.world = new this.supportCodeLibrary.World({\n attach: this.attachmentManager.create.bind(this.attachmentManager),\n log: this.attachmentManager.log.bind(this.attachmentManager),\n parameters: this.worldParameters,\n })\n this.testStepResults = []\n }\n\n buildTestSteps(): ITestStep[] {\n const testSteps: ITestStep[] = []\n this.getBeforeHookDefinitions().forEach((hookDefinition) => {\n testSteps.push({\n id: this.newId(),\n hookDefinition,\n isHook: true,\n isBeforeHook: true,\n })\n })\n this.pickle.steps.forEach((pickleStep) => {\n const stepDefinitions = this.getStepDefinitions(pickleStep)\n testSteps.push({\n id: this.newId(),\n pickleStep,\n stepDefinitions,\n isHook: false,\n })\n })\n this.getAfterHookDefinitions().forEach((hookDefinition) => {\n testSteps.push({\n id: this.newId(),\n hookDefinition,\n isHook: true,\n })\n })\n return testSteps\n }\n\n emitTestCase(): void {\n const testCase = {\n pickleId: this.pickle.id,\n id: this.testCaseId,\n testSteps: this.testSteps.map((testStep) => {\n if (testStep.isHook) {\n return {\n id: testStep.id,\n hookId: testStep.hookDefinition.id,\n }\n } else {\n return {\n id: testStep.id,\n pickleStepId: testStep.pickleStep.id,\n stepDefinitionIds: testStep.stepDefinitions.map((x) => x.id),\n stepMatchArgumentsLists: testStep.stepDefinitions.map((x) => {\n const result = x.expression.match(testStep.pickleStep.text)\n return {\n stepMatchArguments: result.map((arg) => {\n return {\n group: this.mapArgumentGroup(arg.group),\n parameterTypeName: arg.parameterType.name,\n }\n }),\n }\n }),\n }\n }\n }),\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({ testCase })\n )\n }\n\n private mapArgumentGroup(\n group: Group\n ): messages.TestCase.TestStep.StepMatchArgumentsList.StepMatchArgument.IGroup {\n return {\n start: group.start,\n value: group.value,\n children: doesHaveValue(group.children)\n ? group.children.map((child) => this.mapArgumentGroup(child))\n : undefined,\n }\n }\n\n getAfterHookDefinitions(): TestCaseHookDefinition[] {\n return clone(this.supportCodeLibrary.afterTestCaseHookDefinitions)\n .reverse()\n .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle))\n }\n\n getBeforeHookDefinitions(): TestCaseHookDefinition[] {\n return this.supportCodeLibrary.beforeTestCaseHookDefinitions.filter(\n (hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)\n )\n }\n\n getBeforeStepHookDefinitions(): TestStepHookDefinition[] {\n return this.supportCodeLibrary.beforeTestStepHookDefinitions.filter(\n (hookDefinition) => hookDefinition.appliesToTestCase(this.pickle)\n )\n }\n\n getAfterStepHookDefinitions(): TestStepHookDefinition[] {\n return clone(this.supportCodeLibrary.afterTestStepHookDefinitions)\n .reverse()\n .filter((hookDefinition) => hookDefinition.appliesToTestCase(this.pickle))\n }\n\n getStepDefinitions(\n pickleStep: messages.Pickle.IPickleStep\n ): StepDefinition[] {\n return this.supportCodeLibrary.stepDefinitions.filter((stepDefinition) =>\n stepDefinition.matchesStepName(pickleStep.text)\n )\n }\n\n getWorstStepResult(): messages.TestStepFinished.ITestStepResult {\n if (this.testStepResults.length === 0) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: this.skip ? Status.SKIPPED : Status.PASSED,\n })\n }\n return new Query().getWorstTestStepResult(this.testStepResults)\n }\n\n async invokeStep(\n step: messages.Pickle.IPickleStep,\n stepDefinition: IDefinition,\n hookParameter?: any\n ): Promise<messages.TestStepFinished.ITestStepResult> {\n return await StepRunner.run({\n defaultTimeout: this.supportCodeLibrary.defaultTimeout,\n hookParameter,\n step,\n stepDefinition,\n world: this.world,\n })\n }\n\n isSkippingSteps(): boolean {\n return this.getWorstStepResult().status !== Status.PASSED\n }\n\n shouldSkipHook(isBeforeHook: boolean): boolean {\n return this.skip || (this.isSkippingSteps() && isBeforeHook)\n }\n\n async aroundTestStep(\n testStepId: string,\n attempt: number,\n runStepFn: () => Promise<messages.TestStepFinished.ITestStepResult>\n ): Promise<void> {\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testStepStarted: {\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n this.currentTestStepId = testStepId\n const testStepResult = await runStepFn()\n this.currentTestStepId = null\n this.testStepResults.push(testStepResult)\n if (\n testStepResult.status === Status.FAILED &&\n attempt + 1 < this.maxAttempts\n ) {\n /*\n TODO dont rely on `testStepResult.willBeRetried`, it will be moved or removed\n see https://github.com/cucumber/cucumber/issues/902\n */\n testStepResult.willBeRetried = true\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testStepFinished: {\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId,\n testStepResult,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n }\n\n async run(): Promise<messages.TestStepFinished.TestStepResult.Status> {\n this.emitTestCase()\n for (let attempt = 0; attempt < this.maxAttempts; attempt++) {\n this.currentTestCaseStartedId = this.newId()\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testCaseStarted: {\n attempt,\n testCaseId: this.testCaseId,\n id: this.currentTestCaseStartedId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n for (const testStep of this.testSteps) {\n await this.aroundTestStep(testStep.id, attempt, async () => {\n if (testStep.isHook) {\n const hookParameter: ITestCaseHookParameter = {\n gherkinDocument: this.gherkinDocument,\n pickle: this.pickle,\n testCaseStartedId: this.currentTestCaseStartedId,\n }\n if (!testStep.isBeforeHook) {\n hookParameter.result = this.getWorstStepResult()\n }\n return await this.runHook(\n testStep.hookDefinition,\n hookParameter,\n testStep.isBeforeHook\n )\n } else {\n return await this.runStep(testStep)\n }\n })\n }\n this.eventBroadcaster.emit(\n 'envelope',\n messages.Envelope.fromObject({\n testCaseFinished: {\n testCaseStartedId: this.currentTestCaseStartedId,\n timestamp: this.stopwatch.timestamp(),\n },\n })\n )\n if (!this.getWorstStepResult().willBeRetried) {\n break\n }\n this.resetTestProgressData()\n }\n return this.getWorstStepResult().status\n }\n\n async runHook(\n hookDefinition: TestCaseHookDefinition,\n hookParameter: ITestCaseHookParameter,\n isBeforeHook: boolean\n ): Promise<messages.TestStepFinished.ITestStepResult> {\n if (this.shouldSkipHook(isBeforeHook)) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.SKIPPED,\n })\n }\n return await this.invokeStep(null, hookDefinition, hookParameter)\n }\n\n async runStepHooks(\n stepHooks: TestStepHookDefinition[],\n stepResult?: messages.TestStepFinished.ITestStepResult\n ): Promise<messages.TestStepFinished.ITestStepResult[]> {\n const stepHooksResult = []\n const hookParameter: ITestStepHookParameter = {\n gherkinDocument: this.gherkinDocument,\n pickle: this.pickle,\n testCaseStartedId: this.currentTestCaseStartedId,\n testStepId: this.currentTestStepId,\n result: stepResult,\n }\n for (const stepHookDefinition of stepHooks) {\n stepHooksResult.push(\n await this.invokeStep(null, stepHookDefinition, hookParameter)\n )\n }\n return stepHooksResult\n }\n\n async runStep(\n testStep: ITestStep\n ): Promise<messages.TestStepFinished.ITestStepResult> {\n if (testStep.stepDefinitions.length === 0) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.UNDEFINED,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n } else if (testStep.stepDefinitions.length > 1) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n message: getAmbiguousStepException(testStep.stepDefinitions),\n status: Status.AMBIGUOUS,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n } else if (this.isSkippingSteps()) {\n return messages.TestStepFinished.TestStepResult.fromObject({\n status: Status.SKIPPED,\n duration: {\n seconds: '0',\n nanos: 0,\n },\n })\n }\n\n let stepResult\n let stepResults = await this.runStepHooks(\n this.getBeforeStepHookDefinitions(),\n stepResult\n )\n if (\n new Query().getWorstTestStepResult(stepResults).status !== Status.FAILED\n ) {\n stepResult = await this.invokeStep(\n testStep.pickleStep,\n testStep.stepDefinitions[0]\n )\n stepResults.push(stepResult)\n }\n const afterStepHookResults = await this.runStepHooks(\n this.getAfterStepHookDefinitions(),\n stepResult\n )\n stepResults = stepResults.concat(afterStepHookResults)\n\n const finalStepResult = new Query().getWorstTestStepResult(stepResults)\n let finalDuration = getZeroDuration()\n for (const result of stepResults) {\n finalDuration = addDurations(finalDuration, result.duration)\n }\n finalStepResult.duration = finalDuration\n return finalStepResult\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"step_runner.js","sourceRoot":"","sources":["../../src/runtime/step_runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsB;AACtB,uDAA8B;AAC9B,gDAAsD;AACtD,2EAAgD;AAChD,iDAA6C;AAC7C,yEAAkD;AAGlD,oDAIyB;AAEzB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,cAAI,CAAA;AAUhC,KAAK,UAAU,GAAG,CAAC,EACxB,cAAc,EACd,aAAa,EACb,IAAI,EACJ,cAAc,EACd,KAAK,GACO;IACZ,WAAW,EAAE,CAAA;IACb,IAAI,KAAU,EACZ,MAAiD,EACjD,cAA0C,CAAA;IAE5C,IAAI;QACF,cAAc,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC;YAC5D,aAAa;YACb,IAAI;YACJ,KAAK;SACN,CAAC,CAAA;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,KAAK,GAAG,GAAG,CAAA;KACZ;IAED,IAAI,gCAAgB,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,qBAAqB,GAAG,8BAAc,CAC1C,cAAc,CAAC,OAAO,CAAC,OAAO,EAC9B,cAAc,CACf,CAAA;QAED,IACE,gBAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EACvE;YACA,MAAM,IAAI,GAAG,MAAM,0BAAc,CAAC,GAAG,CAAC;gBACpC,SAAS,EAAE,cAAc,CAAC,UAAU;gBACpC,EAAE,EAAE,cAAc,CAAC,IAAI;gBACvB,OAAO,EAAE,KAAK;gBACd,qBAAqB;aACtB,CAAC,CAAA;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;SACrB;aAAM;YACL,KAAK,GAAG,cAAc,CAAC,2BAA2B,EAAE,CAAA;SACrD;KACF;IAED,MAAM,cAAc,GAAG,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC;QACzE,QAAQ,EAAE,6BAAsB,CAAC,SAAS,EAAE,CAAC;KAC9C,CAAC,CAAA;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE;QAC/B,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;QAC/B,cAAc,CAAC,OAAO,GAAG,kCAAM,CAAC,KAAK,CAAC,CAAA;QACtC,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;SAAM;QACL,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AA5DD,kBA4DC;AAED,kBAAe,EAAE,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"step_runner.js","sourceRoot":"","sources":["../../src/runtime/step_runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsB;AACtB,uDAA8B;AAC9B,gDAAsD;AACtD,2EAAgD;AAChD,iDAA6C;AAC7C,yEAAkD;AAGlD,oDAIyB;AAEzB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,cAAI,CAAA;AAUhC,KAAK,UAAU,GAAG,CAAC,EACxB,cAAc,EACd,aAAa,EACb,IAAI,EACJ,cAAc,EACd,KAAK,GACO;IACZ,WAAW,EAAE,CAAA;IACb,IAAI,KAAU,EACZ,MAAiD,EACjD,cAA0C,CAAA;IAE5C,IAAI;QACF,cAAc,GAAG,MAAM,cAAc,CAAC,uBAAuB,CAAC;YAC5D,aAAa;YACb,IAAI;YACJ,KAAK;SACN,CAAC,CAAA;KACH;IAAC,OAAO,GAAG,EAAE;QACZ,KAAK,GAAG,GAAG,CAAA;KACZ;IAED,IAAI,gCAAgB,CAAC,KAAK,CAAC,EAAE;QAC3B,MAAM,qBAAqB,GAAG,8BAAc,CAC1C,cAAc,CAAC,OAAO,CAAC,OAAO,EAC9B,cAAc,CACf,CAAA;QAED,IACE,gBAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,gBAAgB,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EACvE;YACA,MAAM,IAAI,GAAG,MAAM,0BAAc,CAAC,GAAG,CAAC;gBACpC,SAAS,EAAE,cAAc,CAAC,UAAU;gBACpC,EAAE,EAAE,cAAc,CAAC,IAAI;gBACvB,OAAO,EAAE,KAAK;gBACd,qBAAqB;aACtB,CAAC,CAAA;YACF,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YAClB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;SACrB;aAAM;YACL,KAAK,GAAG,cAAc,CAAC,2BAA2B,EAAE,CAAA;SACrD;KACF;IAED,MAAM,cAAc,GAAG,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC;QACzE,QAAQ,EAAE,6BAAsB,CAAC,SAAS,EAAE,CAAC;KAC9C,CAAC,CAAA;IAEF,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE;QAC/B,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,OAAO,CAAA;KACvC;SAAM,IAAI,6BAAa,CAAC,KAAK,CAAC,EAAE;QAC/B,cAAc,CAAC,OAAO,GAAG,kCAAM,CAAC,KAAK,CAAC,CAAA;QACtC,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;SAAM;QACL,cAAc,CAAC,MAAM,GAAG,gBAAM,CAAC,MAAM,CAAA;KACtC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AA5DD,kBA4DC;AAED,kBAAe,EAAE,GAAG,EAAE,CAAA","sourcesContent":["import _ from 'lodash'\nimport Status from '../status'\nimport Time, { millisecondsToDuration } from '../time'\nimport UserCodeRunner from '../user_code_runner'\nimport { messages } from '@cucumber/messages'\nimport { format } from 'assertion-error-formatter'\nimport { ITestCaseHookParameter } from '../support_code_library_builder/types'\nimport { IDefinition, IGetInvocationDataResponse } from '../models/definition'\nimport {\n doesHaveValue,\n doesNotHaveValue,\n valueOrDefault,\n} from '../value_checker'\n\nconst { beginTiming, endTiming } = Time\n\nexport interface IRunOptions {\n defaultTimeout: number\n hookParameter: ITestCaseHookParameter\n step: messages.Pickle.IPickleStep\n stepDefinition: IDefinition\n world: any\n}\n\nexport async function run({\n defaultTimeout,\n hookParameter,\n step,\n stepDefinition,\n world,\n}: IRunOptions): Promise<messages.TestStepFinished.ITestStepResult> {\n beginTiming()\n let error: any,\n result: messages.TestStepFinished.ITestStepResult,\n invocationData: IGetInvocationDataResponse\n\n try {\n invocationData = await stepDefinition.getInvocationParameters({\n hookParameter,\n step,\n world,\n })\n } catch (err) {\n error = err\n }\n\n if (doesNotHaveValue(error)) {\n const timeoutInMilliseconds = valueOrDefault(\n stepDefinition.options.timeout,\n defaultTimeout\n )\n\n if (\n _.includes(invocationData.validCodeLengths, stepDefinition.code.length)\n ) {\n const data = await UserCodeRunner.run({\n argsArray: invocationData.parameters,\n fn: stepDefinition.code,\n thisArg: world,\n timeoutInMilliseconds,\n })\n error = data.error\n result = data.result\n } else {\n error = invocationData.getInvalidCodeLengthMessage()\n }\n }\n\n const testStepResult = messages.TestStepFinished.TestStepResult.fromObject({\n duration: millisecondsToDuration(endTiming()),\n })\n\n if (result === 'skipped') {\n testStepResult.status = Status.SKIPPED\n } else if (result === 'pending') {\n testStepResult.status = Status.PENDING\n } else if (doesHaveValue(error)) {\n testStepResult.message = format(error)\n testStepResult.status = Status.FAILED\n } else {\n testStepResult.status = Status.PASSED\n }\n\n return testStepResult\n}\n\nexport default { run }\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../src/runtime/stopwatch.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,yCAAoE;AAUpE,MAAa,oBAAoB;IAAjC;QACmB,cAAS,GAAc,qBAAS,EAAE,CAAA;QAC3C,SAAI,GAAa,IAAI,CAAA;IA4B/B,CAAC;IA1BC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,OAAO,yBAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACrE,CAAC;CACF;AA9BD,oDA8BC;AAED,MAAa,2BAA2B;IAAxC;QACU,UAAK,GAAG,CAAC,CAAA;QACT,SAAI,GAAa,IAAI,CAAA;IAsC/B,CAAC;IApCC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,oBAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,kFAAkF;IAC1E,kBAAkB,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAA;QACrE,OAAO;YACL,OAAO;YACP,KAAK;SACN,CAAA;IACH,CAAC;CACF;AAxCD,kEAwCC"}
1
+ {"version":3,"file":"stopwatch.js","sourceRoot":"","sources":["../../src/runtime/stopwatch.ts"],"names":[],"mappings":";;;AAAA,iDAA6D;AAC7D,yCAAoE;AAUpE,MAAa,oBAAoB;IAAjC;QACmB,cAAS,GAAc,qBAAS,EAAE,CAAA;QAC3C,SAAI,GAAa,IAAI,CAAA;IA4B/B,CAAC;IA1BC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QACrB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAA;QACzC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,OAAO,yBAAc,CAAC,iCAAiC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IACrE,CAAC;CACF;AA9BD,oDA8BC;AAED,MAAa,2BAA2B;IAAxC;QACU,UAAK,GAAG,CAAC,CAAA;QACT,SAAI,GAAa,IAAI,CAAA;IAsC/B,CAAC;IApCC,IAAI,CAAC,QAAkB;QACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAA;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,QAAQ;QACN,MAAM,OAAO,GAAG,oBAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACtB,OAAO,oBAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;SACrD;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,SAAS;QACP,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,kFAAkF;IAC1E,kBAAkB,CAAC,QAAkB;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,UAAU,CAAC,CAAA;QACrE,OAAO;YACL,OAAO;YACP,KAAK;SACN,CAAA;IACH,CAAC;CACF;AAxCD,kEAwCC","sourcesContent":["import { messages, TimeConversion } from '@cucumber/messages'\nimport { stopwatch, Stopwatch, duration, Duration } from 'durations'\n\nexport interface ITestRunStopwatch {\n from: (duration: Duration) => ITestRunStopwatch\n start: () => ITestRunStopwatch\n stop: () => ITestRunStopwatch\n duration: () => Duration\n timestamp: () => messages.ITimestamp\n}\n\nexport class RealTestRunStopwatch implements ITestRunStopwatch {\n private readonly stopwatch: Stopwatch = stopwatch()\n private base: Duration = null\n\n from(duration: Duration): ITestRunStopwatch {\n this.base = duration\n return this\n }\n\n start(): ITestRunStopwatch {\n this.stopwatch.start()\n return this\n }\n\n stop(): ITestRunStopwatch {\n this.stopwatch.stop()\n return this\n }\n\n duration(): Duration {\n const current = this.stopwatch.duration()\n if (this.base !== null) {\n return duration(this.base.nanos() + current.nanos())\n }\n return current\n }\n\n timestamp(): messages.ITimestamp {\n return TimeConversion.millisecondsSinceEpochToTimestamp(Date.now())\n }\n}\n\nexport class PredictableTestRunStopwatch implements ITestRunStopwatch {\n private count = 0\n private base: Duration = null\n\n from(duration: Duration): ITestRunStopwatch {\n this.base = duration\n return this\n }\n\n start(): ITestRunStopwatch {\n return this\n }\n\n stop(): ITestRunStopwatch {\n return this\n }\n\n duration(): Duration {\n const current = duration(this.count * 1000000)\n if (this.base !== null) {\n return duration(this.base.nanos() + current.nanos())\n }\n return current\n }\n\n timestamp(): messages.ITimestamp {\n const fakeTimestamp = this.convertToTimestamp(this.duration())\n this.count++\n return fakeTimestamp\n }\n\n // TODO: Remove. It's impossible to convert timestamps to durations and vice-versa\n private convertToTimestamp(duration: Duration): messages.ITimestamp {\n const seconds = Math.floor(duration.seconds())\n const nanos = Math.floor((duration.seconds() - seconds) * 1000000000)\n return {\n seconds,\n nanos,\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"stack_trace_filter.js","sourceRoot":"","sources":["../src/stack_trace_filter.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,8DAAoC;AACpC,gDAAuB;AACvB,mDAAgD;AAGhD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAClD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AAEvD,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CACtC,gBAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CACxD,CAAA;AACH,CAAC;AAJD,oDAIC;AAED,MAAqB,gBAAgB;IAGnC,MAAM;QACJ,IAAI,CAAC,aAAa,GAAG,qBAAU,CAAC,MAAM,CAAC,MAAM,CAC3C,CAAC,IAAS,EAAE,MAAkB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;gBAClC,OAAO,MAAM,CAAA;aACd;YACD,MAAM,KAAK,GAAG,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,OAAO,MAAM,CAAA;aACd;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CACF,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,MAAkB;QAClC,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,OAAO,CACL,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CACvE,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,KAAe;QAC/B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,aAAa,CAAC,KAAe;QAC3B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,qBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC;CACF;AAtCD,mCAsCC"}
1
+ {"version":3,"file":"stack_trace_filter.js","sourceRoot":"","sources":["../src/stack_trace_filter.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,8DAAoC;AACpC,gDAAuB;AACvB,mDAAgD;AAGhD,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;AAClD,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;AAEvD,SAAgB,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE,CACtC,gBAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CACxD,CAAA;AACH,CAAC;AAJD,oDAIC;AAED,MAAqB,gBAAgB;IAGnC,MAAM;QACJ,IAAI,CAAC,aAAa,GAAG,qBAAU,CAAC,MAAM,CAAC,MAAM,CAC3C,CAAC,IAAS,EAAE,MAAkB,EAAE,EAAE;YAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE;gBAClC,OAAO,MAAM,CAAA;aACd;YACD,MAAM,KAAK,GAAG,gBAAC,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACpE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;gBAChB,OAAO,MAAM,CAAA;aACd;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QAC/B,CAAC,CACF,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,MAAkB;QAClC,MAAM,cAAc,GAAG,gBAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,OAAO,CACL,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CACvE,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,KAAe;QAC/B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACvC,CAAC;IAED,aAAa,CAAC,KAAe;QAC3B,MAAM,QAAQ,GAAG,8BAAc,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAA;QACxD,OAAO,CAAC,gBAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,cAAI,CAAC,GAAG,CAAC,CAAA;IACxC,CAAC;IAED,QAAQ;QACN,qBAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAChD,CAAC;CACF;AAtCD,mCAsCC","sourcesContent":["import _ from 'lodash'\nimport stackChain from 'stack-chain'\nimport path from 'path'\nimport { valueOrDefault } from './value_checker'\nimport CallSite = NodeJS.CallSite\n\nconst projectRootPath = path.join(__dirname, '..')\nconst projectChildDirs = ['src', 'lib', 'node_modules']\n\nexport function isFileNameInCucumber(fileName: string): boolean {\n return _.some(projectChildDirs, (dir) =>\n _.startsWith(fileName, path.join(projectRootPath, dir))\n )\n}\n\nexport default class StackTraceFilter {\n private currentFilter: CallSite[]\n\n filter(): void {\n this.currentFilter = stackChain.filter.attach(\n (_err: any, frames: CallSite[]) => {\n if (this.isErrorInCucumber(frames)) {\n return frames\n }\n const index = _.findIndex(frames, this.isFrameInCucumber.bind(this))\n if (index === -1) {\n return frames\n }\n return frames.slice(0, index)\n }\n )\n }\n\n isErrorInCucumber(frames: CallSite[]): boolean {\n const filteredFrames = _.reject(frames, this.isFrameInNode.bind(this))\n return (\n filteredFrames.length > 0 && this.isFrameInCucumber(filteredFrames[0])\n )\n }\n\n isFrameInCucumber(frame: CallSite): boolean {\n const fileName = valueOrDefault(frame.getFileName(), '')\n return isFileNameInCucumber(fileName)\n }\n\n isFrameInNode(frame: CallSite): boolean {\n const fileName = valueOrDefault(frame.getFileName(), '')\n return !_.includes(fileName, path.sep)\n }\n\n unfilter(): void {\n stackChain.filter.deattach(this.currentFilter)\n }\n}\n"]}
package/lib/status.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":";;AAAA,iDAA6C;AAE7C,kBAAe,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAA"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../src/status.ts"],"names":[],"mappings":";;AAAA,iDAA6C;AAE7C,kBAAe,mBAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAA","sourcesContent":["import { messages } from '@cucumber/messages'\n\nexport default messages.TestStepFinished.TestStepResult.Status\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"step_arguments.js","sourceRoot":"","sources":["../src/step_arguments.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEvB,mDAA+C;AAO/C,SAAgB,iBAAiB,CAC/B,GAAiC,EACjC,OAA0C;IAE1C,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;SAAM,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChE,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"step_arguments.js","sourceRoot":"","sources":["../src/step_arguments.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAuB;AAEvB,mDAA+C;AAO/C,SAAgB,iBAAiB,CAC/B,GAAiC,EACjC,OAA0C;IAE1C,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QAChC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;SAAM,IAAI,6BAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;KACxC;IACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AAChE,CAAC;AAVD,8CAUC","sourcesContent":["import util from 'util'\nimport { messages } from '@cucumber/messages'\nimport { doesHaveValue } from './value_checker'\n\nexport interface IPickleStepArgumentFunctionMap<T> {\n dataTable: (arg: messages.PickleStepArgument.IPickleTable) => T\n docString: (arg: messages.PickleStepArgument.IPickleDocString) => T\n}\n\nexport function parseStepArgument<T>(\n arg: messages.IPickleStepArgument,\n mapping: IPickleStepArgumentFunctionMap<T>\n): T {\n if (doesHaveValue(arg.dataTable)) {\n return mapping.dataTable(arg.dataTable)\n } else if (doesHaveValue(arg.docString)) {\n return mapping.docString(arg.docString)\n }\n throw new Error(`Unknown step argument: ${util.inspect(arg)}`)\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"build_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/build_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,yEAA8D;AAC9D,gDAAuB;AACvB,kEAAsC;AACtC,8DAA4D;AAC5D,oDAAgE;AAIhE,SAAgB,uBAAuB,CAAC,GAAW;IACjD,IAAI,IAAY,CAAA;IAChB,IAAI,GAAW,CAAA;IACf,MAAM,WAAW,GAAG,uBAAU,CAAC,OAAO,EAAE,CAAA;IACxC,MAAM,UAAU,GAAG,gBAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,CAAC,yCAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,IAAI,6BAAa,CAAC,UAAU,CAAC,EAAE;QAC7B,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;QACjC,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QAC9B,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAC9B;KACF;IACD,OAAO;QACL,IAAI,EAAE,8BAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,GAAG,EAAE,8BAAc,CAAC,GAAG,EAAE,SAAS,CAAC;KACpC,CAAA;AACH,CAAC;AAlBD,0DAkBC;AAED,SAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,WAAW,EACX,cAAc,EACd,oBAAoB,GACU;IAC9B,IAAI,OAAO,cAAc,KAAK,SAAS;QAAE,cAAc,GAAG,IAAI,CAAA;IAC9D,IAAI,OAAO,oBAAoB,KAAK,SAAS;QAAE,oBAAoB,GAAG,KAAK,CAAA;IAC3E,OAAO,IAAI,oCAAa,CACtB,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAW,EACX,cAAc,EACd,oBAAoB,CACrB,CAAA;AACH,CAAC;AAjBD,gDAiBC"}
1
+ {"version":3,"file":"build_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/build_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAsB;AACtB,yEAA8D;AAC9D,gDAAuB;AACvB,kEAAsC;AACtC,8DAA4D;AAC5D,oDAAgE;AAIhE,SAAgB,uBAAuB,CAAC,GAAW;IACjD,IAAI,IAAY,CAAA;IAChB,IAAI,GAAW,CAAA;IACf,MAAM,WAAW,GAAG,uBAAU,CAAC,OAAO,EAAE,CAAA;IACxC,MAAM,UAAU,GAAG,gBAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE;QAC/C,OAAO,CAAC,yCAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,IAAI,6BAAa,CAAC,UAAU,CAAC,EAAE;QAC7B,IAAI,GAAG,UAAU,CAAC,aAAa,EAAE,CAAA;QACjC,GAAG,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;QAC9B,IAAI,6BAAa,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;SAC9B;KACF;IACD,OAAO;QACL,IAAI,EAAE,8BAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7B,GAAG,EAAE,8BAAc,CAAC,GAAG,EAAE,SAAS,CAAC;KACpC,CAAA;AACH,CAAC;AAlBD,0DAkBC;AAED,SAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,MAAM,EACN,WAAW,EACX,cAAc,EACd,oBAAoB,GACU;IAC9B,IAAI,OAAO,cAAc,KAAK,SAAS;QAAE,cAAc,GAAG,IAAI,CAAA;IAC9D,IAAI,OAAO,oBAAoB,KAAK,SAAS;QAAE,oBAAoB,GAAG,KAAK,CAAA;IAC3E,OAAO,IAAI,oCAAa,CACtB,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,WAAW,EACX,cAAc,EACd,oBAAoB,CACrB,CAAA;AACH,CAAC;AAjBD,gDAiBC","sourcesContent":["import _ from 'lodash'\nimport { ParameterType } from '@cucumber/cucumber-expressions'\nimport path from 'path'\nimport StackTrace from 'stacktrace-js'\nimport { isFileNameInCucumber } from '../stack_trace_filter'\nimport { doesHaveValue, valueOrDefault } from '../value_checker'\nimport { ILineAndUri } from '../types'\nimport { IParameterTypeDefinition } from './types'\n\nexport function getDefinitionLineAndUri(cwd: string): ILineAndUri {\n let line: number\n let uri: string\n const stackframes = StackTrace.getSync()\n const stackframe = _.find(stackframes, (frame) => {\n return !isFileNameInCucumber(frame.getFileName())\n })\n if (doesHaveValue(stackframe)) {\n line = stackframe.getLineNumber()\n uri = stackframe.getFileName()\n if (doesHaveValue(uri)) {\n uri = path.relative(cwd, uri)\n }\n }\n return {\n line: valueOrDefault(line, 0),\n uri: valueOrDefault(uri, 'unknown'),\n }\n}\n\nexport function buildParameterType({\n name,\n regexp,\n transformer,\n useForSnippets,\n preferForRegexpMatch,\n}: IParameterTypeDefinition<any>): ParameterType<any> {\n if (typeof useForSnippets !== 'boolean') useForSnippets = true\n if (typeof preferForRegexpMatch !== 'boolean') preferForRegexpMatch = false\n return new ParameterType(\n name,\n regexp,\n null,\n transformer,\n useForSnippets,\n preferForRegexpMatch\n )\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"finalize_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/finalize_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAsC;AACtC,gDAAuB;AAavB,SAAgB,4BAA4B,CAAC,EAC3C,GAAG,EACH,iBAAiB,GACoB;IACrC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,MAAM,CACzD,CAAC,gBAAgB,EAAE,EAAE,CAAC,sBAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC5D,CAAA;IACD,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,MAAM,UAAU,GAAG,0BAA0B;aAC1C,GAAG,CACF,CAAC,gBAAgB,EAAE,EAAE,CACnB,GAAG,cAAI,CAAC,QAAQ,CACd,GAAG,EACH,gBAAgB,CAAC,GAAG,CACrB,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC1C;aACA,IAAI,CAAC,MAAM,CAAC,CAAA;QACf,MAAM,OAAO,GAAG;;;UAGV,UAAU;;;OAGb,CAAA;QACH,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;KACzB;AACH,CAAC;AA1BD,oEA0BC"}
1
+ {"version":3,"file":"finalize_helpers.js","sourceRoot":"","sources":["../../src/support_code_library_builder/finalize_helpers.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAsC;AACtC,gDAAuB;AAavB,SAAgB,4BAA4B,CAAC,EAC3C,GAAG,EACH,iBAAiB,GACoB;IACrC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,MAAM,CACzD,CAAC,gBAAgB,EAAE,EAAE,CAAC,sBAAW,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAC5D,CAAA;IACD,IAAI,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,MAAM,UAAU,GAAG,0BAA0B;aAC1C,GAAG,CACF,CAAC,gBAAgB,EAAE,EAAE,CACnB,GAAG,cAAI,CAAC,QAAQ,CACd,GAAG,EACH,gBAAgB,CAAC,GAAG,CACrB,IAAI,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAC1C;aACA,IAAI,CAAC,MAAM,CAAC,CAAA;QACf,MAAM,OAAO,GAAG;;;UAGV,UAAU;;;OAGb,CAAA;QACH,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;KACzB;AACH,CAAC;AA1BD,oEA0BC","sourcesContent":["import isGenerator from 'is-generator'\nimport path from 'path'\n\nexport interface IDefinitionConfig {\n code: any\n line: number\n uri: string\n}\n\nexport interface IValidateNoGeneratorFunctionsRequest {\n cwd: string\n definitionConfigs: IDefinitionConfig[]\n}\n\nexport function validateNoGeneratorFunctions({\n cwd,\n definitionConfigs,\n}: IValidateNoGeneratorFunctionsRequest): void {\n const generatorDefinitionConfigs = definitionConfigs.filter(\n (definitionConfig) => isGenerator.fn(definitionConfig.code)\n )\n if (generatorDefinitionConfigs.length > 0) {\n const references = generatorDefinitionConfigs\n .map(\n (definitionConfig) =>\n `${path.relative(\n cwd,\n definitionConfig.uri\n )}:${definitionConfig.line.toString()}`\n )\n .join('\\n ')\n const message = `\n The following hook/step definitions use generator functions:\n\n ${references}\n\n Use 'this.setDefinitionFunctionWrapper(fn)' to wrap them in a function that returns a promise.\n `\n throw new Error(message)\n }\n}\n"]}