@sun-asterisk/sungen 3.2.28 → 3.2.30
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.
- package/dist/capabilities/discover.d.ts +29 -0
- package/dist/capabilities/discover.d.ts.map +1 -1
- package/dist/capabilities/discover.js +144 -10
- package/dist/capabilities/discover.js.map +1 -1
- package/dist/capabilities/registry.d.ts +18 -0
- package/dist/capabilities/registry.d.ts.map +1 -1
- package/dist/capabilities/registry.js +25 -0
- package/dist/capabilities/registry.js.map +1 -1
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +9 -0
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/capability.js +1 -1
- package/dist/cli/commands/capability.js.map +1 -1
- package/dist/cli/commands/delivery.d.ts.map +1 -1
- package/dist/cli/commands/delivery.js +2 -1
- package/dist/cli/commands/delivery.js.map +1 -1
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +6 -2
- package/dist/cli/commands/generate.js.map +1 -1
- package/dist/cli/commands/inspect.js +1 -1
- package/dist/cli/commands/inspect.js.map +1 -1
- package/dist/cli/commands/results-merge.d.ts.map +1 -1
- package/dist/cli/commands/results-merge.js +9 -2
- package/dist/cli/commands/results-merge.js.map +1 -1
- package/dist/cli/commands/results-sanitize.d.ts +24 -0
- package/dist/cli/commands/results-sanitize.d.ts.map +1 -0
- package/dist/cli/commands/results-sanitize.js +126 -0
- package/dist/cli/commands/results-sanitize.js.map +1 -0
- package/dist/cli/commands/script-check.d.ts.map +1 -1
- package/dist/cli/commands/script-check.js +3 -1
- package/dist/cli/commands/script-check.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +3 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/dashboard/templates/index.html +1 -1
- package/dist/exporters/api-testcase-formatter.d.ts +3 -6
- package/dist/exporters/api-testcase-formatter.d.ts.map +1 -1
- package/dist/exporters/api-testcase-formatter.js +7 -10
- package/dist/exporters/api-testcase-formatter.js.map +1 -1
- package/dist/exporters/feature-parser.d.ts +1 -1
- package/dist/exporters/feature-parser.js +1 -1
- package/dist/exporters/matrix/build.d.ts.map +1 -1
- package/dist/exporters/matrix/build.js +18 -3
- package/dist/exporters/matrix/build.js.map +1 -1
- package/dist/exporters/matrix/item-labels.d.ts +35 -0
- package/dist/exporters/matrix/item-labels.d.ts.map +1 -0
- package/dist/exporters/matrix/item-labels.js +90 -0
- package/dist/exporters/matrix/item-labels.js.map +1 -0
- package/dist/exporters/matrix/render-coverage-sheet.d.ts +14 -0
- package/dist/exporters/matrix/render-coverage-sheet.d.ts.map +1 -0
- package/dist/exporters/matrix/render-coverage-sheet.js +162 -0
- package/dist/exporters/matrix/render-coverage-sheet.js.map +1 -0
- package/dist/exporters/matrix/render-csv.d.ts.map +1 -1
- package/dist/exporters/matrix/render-csv.js +3 -1
- package/dist/exporters/matrix/render-csv.js.map +1 -1
- package/dist/exporters/matrix/render-overview-sheet.d.ts +20 -0
- package/dist/exporters/matrix/render-overview-sheet.d.ts.map +1 -0
- package/dist/exporters/matrix/render-overview-sheet.js +32 -0
- package/dist/exporters/matrix/render-overview-sheet.js.map +1 -0
- package/dist/exporters/matrix/render-testcase-sheet.d.ts +30 -0
- package/dist/exporters/matrix/render-testcase-sheet.d.ts.map +1 -0
- package/dist/exporters/matrix/render-testcase-sheet.js +156 -0
- package/dist/exporters/matrix/render-testcase-sheet.js.map +1 -0
- package/dist/exporters/matrix/render-xlsx.d.ts +41 -31
- package/dist/exporters/matrix/render-xlsx.d.ts.map +1 -1
- package/dist/exporters/matrix/render-xlsx.js +72 -425
- package/dist/exporters/matrix/render-xlsx.js.map +1 -1
- package/dist/exporters/matrix/result-totals.d.ts +23 -0
- package/dist/exporters/matrix/result-totals.d.ts.map +1 -0
- package/dist/exporters/matrix/result-totals.js +21 -0
- package/dist/exporters/matrix/result-totals.js.map +1 -0
- package/dist/exporters/matrix/testcase-summary-band.d.ts +30 -0
- package/dist/exporters/matrix/testcase-summary-band.d.ts.map +1 -0
- package/dist/exporters/matrix/testcase-summary-band.js +71 -0
- package/dist/exporters/matrix/testcase-summary-band.js.map +1 -0
- package/dist/exporters/matrix/wording.d.ts.map +1 -1
- package/dist/exporters/matrix/wording.js +13 -0
- package/dist/exporters/matrix/wording.js.map +1 -1
- package/dist/exporters/matrix/xlsx-cells.d.ts +38 -0
- package/dist/exporters/matrix/xlsx-cells.d.ts.map +1 -0
- package/dist/exporters/matrix/xlsx-cells.js +52 -0
- package/dist/exporters/matrix/xlsx-cells.js.map +1 -0
- package/dist/exporters/qa-env-secret-denylist.js +2 -2
- package/dist/exporters/qa-env-secret-denylist.js.map +1 -1
- package/dist/exporters/report-path-sanitizer.d.ts +38 -0
- package/dist/exporters/report-path-sanitizer.d.ts.map +1 -0
- package/dist/exporters/report-path-sanitizer.js +137 -0
- package/dist/exporters/report-path-sanitizer.js.map +1 -0
- package/dist/exporters/result-variants.d.ts.map +1 -1
- package/dist/exporters/result-variants.js +2 -1
- package/dist/exporters/result-variants.js.map +1 -1
- package/dist/exporters/sensitive-key.d.ts +31 -0
- package/dist/exporters/sensitive-key.d.ts.map +1 -0
- package/dist/exporters/sensitive-key.js +50 -0
- package/dist/exporters/sensitive-key.js.map +1 -0
- package/dist/exporters/test-data-resolver.d.ts +4 -1
- package/dist/exporters/test-data-resolver.d.ts.map +1 -1
- package/dist/exporters/test-data-resolver.js +12 -2
- package/dist/exporters/test-data-resolver.js.map +1 -1
- package/dist/exporters/xlsx-report-builder.d.ts +12 -1
- package/dist/exporters/xlsx-report-builder.d.ts.map +1 -1
- package/dist/exporters/xlsx-report-builder.js +10 -2
- package/dist/exporters/xlsx-report-builder.js.map +1 -1
- package/dist/generators/gherkin-parser/index.d.ts +10 -0
- package/dist/generators/gherkin-parser/index.d.ts.map +1 -1
- package/dist/generators/gherkin-parser/index.js +20 -12
- package/dist/generators/gherkin-parser/index.js.map +1 -1
- package/dist/generators/gherkin-parser/parent-scope-clause.d.ts +54 -0
- package/dist/generators/gherkin-parser/parent-scope-clause.d.ts.map +1 -0
- package/dist/generators/gherkin-parser/parent-scope-clause.js +109 -0
- package/dist/generators/gherkin-parser/parent-scope-clause.js.map +1 -0
- package/dist/generators/test-generator/adapters/adapter-interface.d.ts +23 -18
- package/dist/generators/test-generator/adapters/adapter-interface.d.ts.map +1 -1
- package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts +4 -19
- package/dist/generators/test-generator/adapters/appium/appium-adapter.d.ts.map +1 -1
- package/dist/generators/test-generator/adapters/appium/appium-adapter.js.map +1 -1
- package/dist/generators/test-generator/adapters/appium/os-support.d.ts +53 -0
- package/dist/generators/test-generator/adapters/appium/os-support.d.ts.map +1 -0
- package/dist/generators/test-generator/adapters/appium/os-support.js +200 -0
- package/dist/generators/test-generator/adapters/appium/os-support.js.map +1 -0
- package/dist/generators/test-generator/adapters/appium/templates/after-all.hbs +18 -0
- package/dist/generators/test-generator/adapters/appium/templates/after-each.hbs +18 -0
- package/dist/generators/test-generator/adapters/appium/templates/before-all.hbs +18 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/alert-fill-action.hbs +9 -2
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +24 -1
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/click-at-position-action.hbs +1 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/click-element-with-text.hbs +1 -1
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/double-click-action.hbs +7 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/frame-enter-action.hbs +3 -6
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/hover-action.hbs +6 -2
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +4 -3
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/table-paginate-action.hbs +3 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/actions/unknown-element-action.hbs +9 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/have-value-assertion.hbs +34 -1
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/label-value-assertion.hbs +14 -6
- package/dist/generators/test-generator/adapters/appium/templates/steps/assertions/visible-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/go-back-action.hbs +21 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/long-press-action.hbs +4 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/pinch-zoom-action.hbs +4 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/gestures/set-geolocation-action.hbs +16 -0
- package/dist/generators/test-generator/adapters/appium/templates/steps/partials/locator.hbs +9 -1
- package/dist/generators/test-generator/adapters/appium/templates/test-file.hbs +62 -23
- package/dist/generators/test-generator/adapters/index.d.ts +1 -1
- package/dist/generators/test-generator/adapters/index.d.ts.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts +4 -19
- package/dist/generators/test-generator/adapters/playwright/playwright-adapter.d.ts.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/playwright-adapter.js.map +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/after-all.hbs +19 -1
- package/dist/generators/test-generator/adapters/playwright/templates/after-each.hbs +18 -0
- package/dist/generators/test-generator/adapters/playwright/templates/before-all.hbs +19 -1
- package/dist/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/check-action.hbs +6 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/click-at-position-action.hbs +23 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/expand-action.hbs +8 -8
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +7 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row-nth.hbs +7 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row.hbs +7 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/table-paginate-action.hbs +5 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/uncheck-action.hbs +3 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +18 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-assertion.hbs +32 -4
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +5 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +13 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +2 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +2 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/selected-assertion.hbs +21 -3
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +20 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-empty.hbs +4 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-match-data.hbs +4 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-count.hbs +4 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-exists.hbs +12 -4
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-not-exists.hbs +14 -2
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +3 -3
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/checked-opts.hbs +8 -0
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +8 -8
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -1
- package/dist/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +8 -8
- package/dist/generators/test-generator/adapters/playwright/templates/test-file.hbs +10 -8
- package/dist/generators/test-generator/code-generator.d.ts +37 -0
- package/dist/generators/test-generator/code-generator.d.ts.map +1 -1
- package/dist/generators/test-generator/code-generator.js +165 -40
- package/dist/generators/test-generator/code-generator.js.map +1 -1
- package/dist/generators/test-generator/diagnostics.d.ts +116 -6
- package/dist/generators/test-generator/diagnostics.d.ts.map +1 -1
- package/dist/generators/test-generator/diagnostics.js +115 -5
- package/dist/generators/test-generator/diagnostics.js.map +1 -1
- package/dist/generators/test-generator/patterns/index.d.ts +57 -11
- package/dist/generators/test-generator/patterns/index.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/index.js +163 -21
- package/dist/generators/test-generator/patterns/index.js.map +1 -1
- package/dist/generators/test-generator/patterns/types.d.ts +8 -0
- package/dist/generators/test-generator/patterns/types.d.ts.map +1 -1
- package/dist/generators/test-generator/patterns/with-parent-scope.d.ts +18 -0
- package/dist/generators/test-generator/patterns/with-parent-scope.d.ts.map +1 -0
- package/dist/generators/test-generator/patterns/with-parent-scope.js +40 -0
- package/dist/generators/test-generator/patterns/with-parent-scope.js.map +1 -0
- package/dist/generators/test-generator/step-mapper.d.ts +103 -10
- package/dist/generators/test-generator/step-mapper.d.ts.map +1 -1
- package/dist/generators/test-generator/step-mapper.js +266 -45
- package/dist/generators/test-generator/step-mapper.js.map +1 -1
- package/dist/generators/test-generator/template-engine.d.ts +4 -19
- package/dist/generators/test-generator/template-engine.d.ts.map +1 -1
- package/dist/generators/test-generator/template-engine.js +17 -12
- package/dist/generators/test-generator/template-engine.js.map +1 -1
- package/dist/generators/test-generator/utils/data-resolver.d.ts +7 -0
- package/dist/generators/test-generator/utils/data-resolver.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/data-resolver.js +19 -2
- package/dist/generators/test-generator/utils/data-resolver.js.map +1 -1
- package/dist/generators/test-generator/utils/dialog-scope-identity.d.ts +41 -0
- package/dist/generators/test-generator/utils/dialog-scope-identity.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/dialog-scope-identity.js +61 -0
- package/dist/generators/test-generator/utils/dialog-scope-identity.js.map +1 -0
- package/dist/generators/test-generator/utils/escape-js-string.d.ts +17 -0
- package/dist/generators/test-generator/utils/escape-js-string.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/escape-js-string.js +29 -0
- package/dist/generators/test-generator/utils/escape-js-string.js.map +1 -0
- package/dist/generators/test-generator/utils/nearest-match.d.ts +24 -0
- package/dist/generators/test-generator/utils/nearest-match.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/nearest-match.js +56 -0
- package/dist/generators/test-generator/utils/nearest-match.js.map +1 -0
- package/dist/generators/test-generator/utils/selector-entry-fields.d.ts +58 -0
- package/dist/generators/test-generator/utils/selector-entry-fields.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/selector-entry-fields.js +119 -0
- package/dist/generators/test-generator/utils/selector-entry-fields.js.map +1 -0
- package/dist/generators/test-generator/utils/selector-entry-walk.d.ts +25 -0
- package/dist/generators/test-generator/utils/selector-entry-walk.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/selector-entry-walk.js +54 -0
- package/dist/generators/test-generator/utils/selector-entry-walk.js.map +1 -0
- package/dist/generators/test-generator/utils/selector-nth-validation.d.ts +59 -0
- package/dist/generators/test-generator/utils/selector-nth-validation.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/selector-nth-validation.js +91 -0
- package/dist/generators/test-generator/utils/selector-nth-validation.js.map +1 -0
- package/dist/generators/test-generator/utils/selector-resolver.d.ts +53 -2
- package/dist/generators/test-generator/utils/selector-resolver.d.ts.map +1 -1
- package/dist/generators/test-generator/utils/selector-resolver.js +273 -27
- package/dist/generators/test-generator/utils/selector-resolver.js.map +1 -1
- package/dist/generators/test-generator/utils/selector-type-validation.d.ts +51 -0
- package/dist/generators/test-generator/utils/selector-type-validation.d.ts.map +1 -0
- package/dist/generators/test-generator/utils/selector-type-validation.js +77 -0
- package/dist/generators/test-generator/utils/selector-type-validation.js.map +1 -0
- package/dist/harness/audit.d.ts +3 -1
- package/dist/harness/audit.d.ts.map +1 -1
- package/dist/harness/audit.js +51 -28
- package/dist/harness/audit.js.map +1 -1
- package/dist/harness/capability-plan.d.ts +4 -0
- package/dist/harness/capability-plan.d.ts.map +1 -1
- package/dist/harness/capability-plan.js +32 -2
- package/dist/harness/capability-plan.js.map +1 -1
- package/dist/harness/catalog/drivers.yaml +1 -1
- package/dist/harness/catalog/universal-viewpoints.yaml +145 -0
- package/dist/harness/data-driven-lint.d.ts.map +1 -1
- package/dist/harness/data-driven-lint.js +217 -33
- package/dist/harness/data-driven-lint.js.map +1 -1
- package/dist/harness/parse.d.ts +6 -0
- package/dist/harness/parse.d.ts.map +1 -1
- package/dist/harness/parse.js +1 -1
- package/dist/harness/parse.js.map +1 -1
- package/dist/harness/repair.d.ts.map +1 -1
- package/dist/harness/repair.js +8 -1
- package/dist/harness/repair.js.map +1 -1
- package/dist/harness/script-check.d.ts +2 -2
- package/dist/harness/script-check.d.ts.map +1 -1
- package/dist/harness/script-check.js +186 -25
- package/dist/harness/script-check.js.map +1 -1
- package/dist/harness/sensors.d.ts +48 -0
- package/dist/harness/sensors.d.ts.map +1 -1
- package/dist/harness/sensors.js +26 -1
- package/dist/harness/sensors.js.map +1 -1
- package/dist/harness/viewpoint-ledger.d.ts +10 -0
- package/dist/harness/viewpoint-ledger.d.ts.map +1 -1
- package/dist/harness/viewpoint-ledger.js +23 -2
- package/dist/harness/viewpoint-ledger.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/orchestrator/project-initializer.d.ts +6 -0
- package/dist/orchestrator/project-initializer.d.ts.map +1 -1
- package/dist/orchestrator/project-initializer.js +16 -0
- package/dist/orchestrator/project-initializer.js.map +1 -1
- package/dist/orchestrator/report-sanitize-reporter-install.d.ts +24 -0
- package/dist/orchestrator/report-sanitize-reporter-install.d.ts.map +1 -0
- package/dist/orchestrator/report-sanitize-reporter-install.js +161 -0
- package/dist/orchestrator/report-sanitize-reporter-install.js.map +1 -0
- package/dist/orchestrator/templates/ai-src/commands/delivery.md +4 -3
- package/dist/orchestrator/templates/ai-src/commands/run-test.md +9 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +10 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +14 -5
- package/dist/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +62 -3
- package/dist/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +126 -11
- package/dist/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +16 -1
- package/dist/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +12 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-selector-keys/SKILL.md +19 -5
- package/dist/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +88 -2
- package/dist/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +62 -5
- package/dist/orchestrator/templates/ai-src/skills/sungen-test-design-techniques/SKILL.md +13 -0
- package/dist/orchestrator/templates/ai-src/skills/sungen-viewpoint/SKILL.md +59 -10
- package/dist/orchestrator/templates/ai-src/skills/sungen-viewpoint/group-f-mobile-native.md +419 -0
- package/dist/orchestrator/templates/playwright.config.ts +7 -0
- package/dist/orchestrator/templates/readme.md +1 -1
- package/dist/orchestrator/templates/specs-checked-state.d.ts +83 -0
- package/dist/orchestrator/templates/specs-checked-state.d.ts.map +1 -0
- package/dist/orchestrator/templates/specs-checked-state.js +261 -0
- package/dist/orchestrator/templates/specs-checked-state.js.map +1 -0
- package/dist/orchestrator/templates/specs-checked-state.ts +324 -0
- package/dist/orchestrator/templates/specs-pw-shape-reporter.ts +0 -0
- package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.d.ts +36 -0
- package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.d.ts.map +1 -0
- package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.js +155 -0
- package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.js.map +1 -0
- package/dist/orchestrator/templates/specs-report-path-sanitize-reporter.ts +142 -0
- package/dist/orchestrator/templates/specs-url-assert.d.ts +50 -25
- package/dist/orchestrator/templates/specs-url-assert.d.ts.map +1 -1
- package/dist/orchestrator/templates/specs-url-assert.js +65 -24
- package/dist/orchestrator/templates/specs-url-assert.js.map +1 -1
- package/dist/orchestrator/templates/specs-url-assert.ts +101 -28
- package/dist/orchestrator/templates/wdio.conf.ts +105 -1
- package/dist/utils/selector-types.d.ts +43 -1
- package/dist/utils/selector-types.d.ts.map +1 -1
- package/dist/utils/selector-types.js +51 -7
- package/dist/utils/selector-types.js.map +1 -1
- package/package.json +3 -3
- package/src/capabilities/discover.ts +146 -10
- package/src/capabilities/registry.ts +30 -0
- package/src/cli/commands/audit.ts +9 -0
- package/src/cli/commands/capability.ts +1 -1
- package/src/cli/commands/delivery.ts +2 -1
- package/src/cli/commands/generate.ts +5 -2
- package/src/cli/commands/inspect.ts +1 -1
- package/src/cli/commands/results-merge.ts +9 -2
- package/src/cli/commands/results-sanitize.ts +98 -0
- package/src/cli/commands/script-check.ts +3 -1
- package/src/cli/commands/update.ts +3 -0
- package/src/dashboard/templates/index.html +1 -1
- package/src/exporters/api-testcase-formatter.ts +5 -7
- package/src/exporters/feature-parser.ts +1 -1
- package/src/exporters/matrix/build.ts +17 -3
- package/src/exporters/matrix/item-labels.ts +78 -0
- package/src/exporters/matrix/render-coverage-sheet.ts +170 -0
- package/src/exporters/matrix/render-csv.ts +3 -1
- package/src/exporters/matrix/render-overview-sheet.ts +51 -0
- package/src/exporters/matrix/render-testcase-sheet.ts +178 -0
- package/src/exporters/matrix/render-xlsx.ts +67 -448
- package/src/exporters/matrix/result-totals.ts +37 -0
- package/src/exporters/matrix/testcase-summary-band.ts +74 -0
- package/src/exporters/matrix/wording.ts +13 -0
- package/src/exporters/matrix/xlsx-cells.ts +56 -0
- package/src/exporters/qa-env-secret-denylist.ts +1 -1
- package/src/exporters/report-path-sanitizer.ts +144 -0
- package/src/exporters/result-variants.ts +2 -1
- package/src/exporters/sensitive-key.ts +48 -0
- package/src/exporters/test-data-resolver.ts +12 -2
- package/src/exporters/xlsx-report-builder.ts +16 -2
- package/src/generators/gherkin-parser/index.ts +22 -11
- package/src/generators/gherkin-parser/parent-scope-clause.ts +130 -0
- package/src/generators/test-generator/adapters/adapter-interface.ts +25 -3
- package/src/generators/test-generator/adapters/appium/appium-adapter.ts +4 -4
- package/src/generators/test-generator/adapters/appium/os-support.ts +176 -0
- package/src/generators/test-generator/adapters/appium/templates/after-all.hbs +18 -0
- package/src/generators/test-generator/adapters/appium/templates/after-each.hbs +18 -0
- package/src/generators/test-generator/adapters/appium/templates/before-all.hbs +18 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/alert-fill-action.hbs +9 -2
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/capture-variable.hbs +24 -1
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/click-at-position-action.hbs +1 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/click-element-with-text.hbs +1 -1
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/double-click-action.hbs +7 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/frame-enter-action.hbs +3 -6
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/hover-action.hbs +6 -2
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/hover-element-with-text.hbs +4 -3
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/table-paginate-action.hbs +3 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/actions/unknown-element-action.hbs +9 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/have-value-assertion.hbs +34 -1
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/label-value-assertion.hbs +14 -6
- package/src/generators/test-generator/adapters/appium/templates/steps/assertions/visible-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/appium/templates/steps/gestures/go-back-action.hbs +21 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/gestures/long-press-action.hbs +4 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/gestures/pinch-zoom-action.hbs +4 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/gestures/set-geolocation-action.hbs +16 -0
- package/src/generators/test-generator/adapters/appium/templates/steps/partials/locator.hbs +9 -1
- package/src/generators/test-generator/adapters/appium/templates/test-file.hbs +62 -23
- package/src/generators/test-generator/adapters/index.ts +1 -1
- package/src/generators/test-generator/adapters/playwright/playwright-adapter.ts +4 -4
- package/src/generators/test-generator/adapters/playwright/templates/after-all.hbs +19 -1
- package/src/generators/test-generator/adapters/playwright/templates/after-each.hbs +18 -0
- package/src/generators/test-generator/adapters/playwright/templates/before-all.hbs +19 -1
- package/src/generators/test-generator/adapters/playwright/templates/imports.hbs +3 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/check-action.hbs +6 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/click-at-position-action.hbs +23 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/expand-action.hbs +8 -8
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/fill-editor-action.hbs +7 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row-nth.hbs +7 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-action-in-row.hbs +7 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/table-paginate-action.hbs +5 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/uncheck-action.hbs +3 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/unknown-element-action.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/actions/wait-for-page.hbs +18 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-assertion.hbs +32 -4
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/all-contain-element.hbs +5 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/checked-assertion.hbs +5 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/column-cell-assertion.hbs +13 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/contain-text-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-role-variable-assertion.hbs +2 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/disabled-with-variable-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/have-text-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-role-variable-assertion.hbs +2 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/hidden-with-variable-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/not-checked-assertion.hbs +2 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/selected-assertion.hbs +21 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/state-with-filter-assertion.hbs +20 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-empty.hbs +4 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-match-data.hbs +4 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-count.hbs +4 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-exists.hbs +12 -4
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/table-row-not-exists.hbs +14 -2
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-role-variable-assertion.hbs +3 -3
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-value-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/assertions/visible-with-variable-assertion.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/checked-opts.hbs +8 -0
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-base.hbs +8 -8
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-nth.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/id.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator-strategies/testid.hbs +1 -1
- package/src/generators/test-generator/adapters/playwright/templates/steps/partials/locator.hbs +8 -8
- package/src/generators/test-generator/adapters/playwright/templates/test-file.hbs +10 -8
- package/src/generators/test-generator/code-generator.ts +181 -46
- package/src/generators/test-generator/diagnostics.ts +117 -6
- package/src/generators/test-generator/patterns/index.ts +175 -24
- package/src/generators/test-generator/patterns/types.ts +8 -0
- package/src/generators/test-generator/patterns/with-parent-scope.ts +41 -0
- package/src/generators/test-generator/step-mapper.ts +277 -43
- package/src/generators/test-generator/template-engine.ts +21 -21
- package/src/generators/test-generator/utils/data-resolver.ts +23 -2
- package/src/generators/test-generator/utils/dialog-scope-identity.ts +71 -0
- package/src/generators/test-generator/utils/escape-js-string.ts +24 -0
- package/src/generators/test-generator/utils/nearest-match.ts +55 -0
- package/src/generators/test-generator/utils/selector-entry-fields.ts +131 -0
- package/src/generators/test-generator/utils/selector-entry-walk.ts +58 -0
- package/src/generators/test-generator/utils/selector-nth-validation.ts +99 -0
- package/src/generators/test-generator/utils/selector-resolver.ts +333 -28
- package/src/generators/test-generator/utils/selector-type-validation.ts +87 -0
- package/src/harness/audit.ts +55 -30
- package/src/harness/capability-plan.ts +33 -1
- package/src/harness/catalog/drivers.yaml +1 -1
- package/src/harness/catalog/universal-viewpoints.yaml +145 -0
- package/src/harness/data-driven-lint.ts +192 -32
- package/src/harness/parse.ts +7 -1
- package/src/harness/repair.ts +8 -1
- package/src/harness/script-check.ts +186 -21
- package/src/harness/sensors.ts +75 -1
- package/src/harness/viewpoint-ledger.ts +26 -5
- package/src/index.ts +7 -0
- package/src/orchestrator/project-initializer.ts +17 -0
- package/src/orchestrator/report-sanitize-reporter-install.ts +109 -0
- package/src/orchestrator/templates/ai-src/commands/delivery.md +4 -3
- package/src/orchestrator/templates/ai-src/commands/run-test.md +9 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-api-coverage-model/SKILL.md +10 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-delivery/SKILL.md +14 -5
- package/src/orchestrator/templates/ai-src/skills/sungen-error-mapping/SKILL.md +62 -3
- package/src/orchestrator/templates/ai-src/skills/sungen-gherkin-syntax/SKILL.md +126 -11
- package/src/orchestrator/templates/ai-src/skills/sungen-mobile-gestures/SKILL.md +16 -1
- package/src/orchestrator/templates/ai-src/skills/sungen-selector-fix/SKILL.md +12 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-selector-keys/SKILL.md +19 -5
- package/src/orchestrator/templates/ai-src/skills/sungen-tc-generation/SKILL.md +88 -2
- package/src/orchestrator/templates/ai-src/skills/sungen-tc-review/SKILL.md +62 -5
- package/src/orchestrator/templates/ai-src/skills/sungen-test-design-techniques/SKILL.md +13 -0
- package/src/orchestrator/templates/ai-src/skills/sungen-viewpoint/SKILL.md +59 -10
- package/src/orchestrator/templates/ai-src/skills/sungen-viewpoint/group-f-mobile-native.md +419 -0
- package/src/orchestrator/templates/playwright.config.ts +7 -0
- package/src/orchestrator/templates/readme.md +1 -1
- package/src/orchestrator/templates/specs-checked-state.ts +324 -0
- package/src/orchestrator/templates/specs-pw-shape-reporter.ts +0 -0
- package/src/orchestrator/templates/specs-report-path-sanitize-reporter.ts +142 -0
- package/src/orchestrator/templates/specs-url-assert.ts +101 -28
- package/src/orchestrator/templates/wdio.conf.ts +105 -1
- package/src/utils/selector-types.ts +54 -5
|
@@ -1,14 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.StepMapper = void 0;
|
|
4
|
+
const parent_scope_clause_1 = require("../gherkin-parser/parent-scope-clause");
|
|
4
5
|
const template_engine_1 = require("./template-engine");
|
|
5
6
|
const adapters_1 = require("./adapters");
|
|
6
7
|
const patterns_1 = require("./patterns");
|
|
7
8
|
const selector_resolver_1 = require("./utils/selector-resolver");
|
|
8
9
|
const data_resolver_1 = require("./utils/data-resolver");
|
|
10
|
+
const dialog_scope_identity_1 = require("./utils/dialog-scope-identity");
|
|
9
11
|
const unsupported_step_code_1 = require("./patterns/unsupported-step-code");
|
|
12
|
+
const mask_refs_for_matching_1 = require("./utils/mask-refs-for-matching");
|
|
13
|
+
const selector_type_validation_1 = require("./utils/selector-type-validation");
|
|
10
14
|
const app_profile_1 = require("./app-profile");
|
|
11
15
|
const registry_1 = require("../../capabilities/registry");
|
|
16
|
+
/**
|
|
17
|
+
* The correction SG-W001 owes a project that gated a platform driver away.
|
|
18
|
+
*
|
|
19
|
+
* Gating (plan `260903-1654` phase 11) keeps a mobile-only pattern out of a web project's registry.
|
|
20
|
+
* Right isolation — but `platformMiss` then has nothing to catch, so a mobile-only step falls
|
|
21
|
+
* through to SG-W001, whose sentence "sungen has no step form for it" is FALSE: the form exists in
|
|
22
|
+
* a vocabulary this project declined. Ungated, the author would have seen SG-W020 naming the
|
|
23
|
+
* alternative.
|
|
24
|
+
*
|
|
25
|
+
* It states only what discovery knows. Which STEP the skipped driver owned is unknowable here — the
|
|
26
|
+
* patterns were never loaded — and a static list of off-platform step texts would rot on the next
|
|
27
|
+
* pattern anyone adds, putting a second wrong sentence where the first one was.
|
|
28
|
+
*
|
|
29
|
+
* Returns '' when nothing was gated, so every project that predates the platform profile keeps the
|
|
30
|
+
* message it has today, word for word.
|
|
31
|
+
*/
|
|
32
|
+
function offPlatformHint() {
|
|
33
|
+
const gated = registry_1.capabilityRegistry.gatedDrivers();
|
|
34
|
+
if (!gated.length)
|
|
35
|
+
return '';
|
|
36
|
+
const platform = registry_1.capabilityRegistry.gatedForPlatform();
|
|
37
|
+
const names = gated.map(([pkg, serves]) => `${pkg} (${serves})`).join(', ');
|
|
38
|
+
return `this project declares platform: ${platform}, so ${names} was not loaded; a ${gated[0][1]}-only step form exists but is out of scope here. Per-platform vocabulary: docs/spec/step-support-matrix.md.`;
|
|
39
|
+
}
|
|
12
40
|
/**
|
|
13
41
|
* StepMapper - Orchestrates step-to-code conversion using pattern registry
|
|
14
42
|
* Refactored from 907 lines to < 200 lines
|
|
@@ -50,7 +78,9 @@ class StepMapper {
|
|
|
50
78
|
this.platform = adapter.frameworkName === 'appium' ? 'mobile' : 'web';
|
|
51
79
|
this.templateEngine = new template_engine_1.TemplateEngine(templatesDir);
|
|
52
80
|
this.patternRegistry = new patterns_1.PatternRegistry();
|
|
53
|
-
|
|
81
|
+
// `platform` is set just above from the ADAPTER — the resolver needs it to decline the
|
|
82
|
+
// list-member auto-infer that has no mobile equivalent (#665).
|
|
83
|
+
this.selectorResolver = new selector_resolver_1.SelectorResolver(undefined, options.screenName, this.platform);
|
|
54
84
|
this.dataResolver = new data_resolver_1.DataResolver(undefined, options.screenName, options.runtimeData);
|
|
55
85
|
// App profile (qa/app.yaml) — loaded after PatternRegistry so capability discovery has
|
|
56
86
|
// populated the preset registry (driver-ui ships native/radix/antd). Missing file →
|
|
@@ -73,8 +103,9 @@ class StepMapper {
|
|
|
73
103
|
/**
|
|
74
104
|
* Set feature context for data and selector resolution
|
|
75
105
|
*/
|
|
76
|
-
setFeatureContext(featureName, featurePath) {
|
|
106
|
+
setFeatureContext(featureName, featurePath, featurePlatform) {
|
|
77
107
|
this.featureName = featureName;
|
|
108
|
+
this.featurePlatform = featurePlatform;
|
|
78
109
|
this.featurePath = featurePath;
|
|
79
110
|
this.selectorResolver.setFeatureContext(featureName);
|
|
80
111
|
// One StepMapper serves every feature in a run, so the step counter that names the
|
|
@@ -140,6 +171,17 @@ class StepMapper {
|
|
|
140
171
|
registerCaptured(name) {
|
|
141
172
|
this.dataResolver.registerCaptured(name);
|
|
142
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Register the head of a variable bound by the feature's `@beforeAll` hook. Feature-scoped: it
|
|
176
|
+
* survives setScenarioContext() so every scenario can read `{{head.*}}` as a runtime get().
|
|
177
|
+
*/
|
|
178
|
+
registerFeatureCaptured(head) {
|
|
179
|
+
this.dataResolver.registerFeatureCaptured(head);
|
|
180
|
+
}
|
|
181
|
+
/** Drop feature-scoped captured vars — call once per feature, before its hooks and scenarios map. */
|
|
182
|
+
clearFeatureCaptured() {
|
|
183
|
+
this.dataResolver.clearFeatureCaptured();
|
|
184
|
+
}
|
|
143
185
|
/**
|
|
144
186
|
* Map a Gherkin step to Playwright code
|
|
145
187
|
* Uses pattern registry first, falls back to AI if enabled
|
|
@@ -151,6 +193,7 @@ class StepMapper {
|
|
|
151
193
|
if (keyword === 'Given' || keyword === 'When' || keyword === 'Then') {
|
|
152
194
|
this.lastPrimaryKeyword = keyword;
|
|
153
195
|
}
|
|
196
|
+
this.warnScopeClauseDiscarded(step);
|
|
154
197
|
// SG-W015 — `see [X] card with {{n}}` where n is a bare number compiles to a TEXT
|
|
155
198
|
// assertion (toHaveText('3')), not a count. An author reaching for "3 cards are shown"
|
|
156
199
|
// gets an assertion that can only pass if the card's TEXT is the digit — a wrong test
|
|
@@ -225,19 +268,24 @@ class StepMapper {
|
|
|
225
268
|
this.templateEngine.setBaseContext({ inFrame: true, frameSelector });
|
|
226
269
|
// C1 — routed through the adapter instead of building `page.frameLocator(...)` inline:
|
|
227
270
|
// the Appium adapter's own template performs its webview-context switch instead.
|
|
228
|
-
|
|
271
|
+
// `frameRef` carries the name as WRITTEN in the Gherkin: the Appium twin can fail (#705),
|
|
272
|
+
// and its error has to quote the step the author would go and look at, not the resolved
|
|
273
|
+
// xpath they never typed.
|
|
274
|
+
const code = this.templateEngine.renderStep('frame-enter-action', { frameSelector, frameRef: selectorRef });
|
|
229
275
|
return { code, comment: `Switch to ${selectorRef} frame` };
|
|
230
276
|
}
|
|
231
277
|
// Dialog scope directives — intercept before pattern matching
|
|
232
278
|
if (/\buse dialog\b/i.test(step.text)) {
|
|
233
279
|
this.inDialogScope = true;
|
|
234
|
-
|
|
280
|
+
// setBaseContext MERGES — an earlier scope's root keys in the same scenario would
|
|
281
|
+
// otherwise leak into this unnamed one.
|
|
282
|
+
this.templateEngine.setBaseContext({ inDialog: true, dialogScopeKey: undefined });
|
|
235
283
|
this.warnDialogScopeIgnoredOnMobile(step);
|
|
236
284
|
return { code: '', comment: 'Enter dialog scope' };
|
|
237
285
|
}
|
|
238
286
|
if (/\b(?:close|dismiss|exit)\s+dialog\b/i.test(step.text)) {
|
|
239
287
|
this.inDialogScope = false;
|
|
240
|
-
this.templateEngine.setBaseContext({ inDialog: false });
|
|
288
|
+
this.templateEngine.setBaseContext({ inDialog: false, dialogScopeKey: undefined });
|
|
241
289
|
return { code: '', comment: 'Exit dialog scope' };
|
|
242
290
|
}
|
|
243
291
|
// `is on [X] <type>` supports exactly two shapes: `page` (URL from the page-type selector
|
|
@@ -271,6 +319,7 @@ class StepMapper {
|
|
|
271
319
|
dialogRootExpr: undefined,
|
|
272
320
|
dialogRoleName: undefined,
|
|
273
321
|
dialogFilterText: undefined,
|
|
322
|
+
dialogScopeKey: undefined,
|
|
274
323
|
};
|
|
275
324
|
if (step.selectorRef && step.dataRef) {
|
|
276
325
|
// Case 3: [panel] dialog with {{value}}
|
|
@@ -302,6 +351,15 @@ class StepMapper {
|
|
|
302
351
|
contextVars.dialogRoleName = step.selectorRef;
|
|
303
352
|
}
|
|
304
353
|
// Case 1: no selectorRef → plain page.getByRole('dialog')
|
|
354
|
+
// Record what this root IS, so a later step naming the same element is recognized as the
|
|
355
|
+
// root rather than nested inside it (issue #692). The declared entry when there is one;
|
|
356
|
+
// otherwise the named-dialog fallback the element itself will resolve to.
|
|
357
|
+
if (step.selectorRef) {
|
|
358
|
+
const entry = this.resolveDialogEntry(step.selectorRef);
|
|
359
|
+
contextVars.dialogScopeKey = entry
|
|
360
|
+
? (0, dialog_scope_identity_1.locatorIdentityKey)(entry)
|
|
361
|
+
: (0, dialog_scope_identity_1.locatorIdentityKey)({ strategy: 'role', role: 'dialog', name: step.selectorRef });
|
|
362
|
+
}
|
|
305
363
|
this.templateEngine.setBaseContext(contextVars);
|
|
306
364
|
return { code: '', comment: `Enter dialog scope${step.selectorRef ? ': ' + step.selectorRef : ''}` };
|
|
307
365
|
}
|
|
@@ -351,11 +409,18 @@ class StepMapper {
|
|
|
351
409
|
this.checkDataRefConsumed(step, mappedStep);
|
|
352
410
|
this.checkPageAssertionNoOpOnMobile(step, mappedStep);
|
|
353
411
|
this.checkSetupNoOpOnMobile(step, mappedStep);
|
|
354
|
-
this.
|
|
412
|
+
this.checkNavigationNoOpOnMobile(step, mappedStep);
|
|
413
|
+
this.checkPageStepFallback(step, mappedStep);
|
|
355
414
|
this.checkDeclaredUrlHasNoQuery(step, mappedStep);
|
|
415
|
+
const positionDropped = this.checkClickPositionDropped(step, mappedStep);
|
|
416
|
+
if (positionDropped)
|
|
417
|
+
return positionDropped;
|
|
356
418
|
const swallowed = this.checkAssertionClauseSwallowed(step, mappedStep);
|
|
357
419
|
if (swallowed)
|
|
358
420
|
return swallowed;
|
|
421
|
+
const badType = this.checkUnknownSelectorType(step, mappedStep);
|
|
422
|
+
if (badType)
|
|
423
|
+
return badType;
|
|
359
424
|
return mappedStep;
|
|
360
425
|
}
|
|
361
426
|
// No pattern matched. The step is, by definition, vocabulary sungen does not have — so it
|
|
@@ -378,7 +443,13 @@ class StepMapper {
|
|
|
378
443
|
});
|
|
379
444
|
}
|
|
380
445
|
else {
|
|
381
|
-
|
|
446
|
+
// Two shapes, because the ORIGINAL CLAUSE is what was wrong. Appending a correction to
|
|
447
|
+
// "sungen has no step form for it" leaves the reader a sentence that contradicts itself one
|
|
448
|
+
// clause later. When the gate dropped a vocabulary, that clause is simply not written.
|
|
449
|
+
const hint = offPlatformHint();
|
|
450
|
+
reason = hint
|
|
451
|
+
? `step "${step.text}" matched no pattern here — ${hint} If that is not what you meant, rephrase using a supported step form (see the sungen-gherkin-syntax reference), or tag the scenario @manual if the check cannot be automated.`
|
|
452
|
+
: `step "${step.text}" matched no pattern — sungen has no step form for it. Rephrase using a supported step form (see the sungen-gherkin-syntax reference), or tag the scenario @manual if the check cannot be automated.`;
|
|
382
453
|
this.diagnostics?.add('SG-W001', reason, {
|
|
383
454
|
feature: this.featureName,
|
|
384
455
|
step: step.text,
|
|
@@ -401,20 +472,9 @@ class StepMapper {
|
|
|
401
472
|
* falls back to the legacy named-dialog root, so behavior is unchanged for those entries.
|
|
402
473
|
*/
|
|
403
474
|
renderDialogRoot(selectorRef, opts = {}) {
|
|
404
|
-
|
|
405
|
-
try {
|
|
406
|
-
resolved = this.selectorResolver.resolveSelector(selectorRef, this.featureName, 'dialog', 0);
|
|
407
|
-
}
|
|
408
|
-
catch {
|
|
409
|
-
return undefined;
|
|
410
|
-
}
|
|
475
|
+
const resolved = this.resolveDialogEntry(selectorRef);
|
|
411
476
|
if (!resolved)
|
|
412
477
|
return undefined;
|
|
413
|
-
// `type: role` + a `locator:` field collapses to strategy 'css', which the locator partial
|
|
414
|
-
// has no case for — normalize it to the raw-locator strategy it actually means.
|
|
415
|
-
if (resolved.strategy === 'css' && resolved.locator) {
|
|
416
|
-
resolved = { ...resolved, strategy: 'locator', value: resolved.locator };
|
|
417
|
-
}
|
|
418
478
|
if (!StepMapper.DIALOG_ROOT_STRATEGIES.includes(resolved.strategy))
|
|
419
479
|
return undefined;
|
|
420
480
|
if (opts.nonRoleOnly && resolved.strategy === 'role')
|
|
@@ -429,22 +489,47 @@ class StepMapper {
|
|
|
429
489
|
return expr || undefined;
|
|
430
490
|
}
|
|
431
491
|
/**
|
|
432
|
-
*
|
|
433
|
-
*
|
|
434
|
-
*
|
|
435
|
-
|
|
436
|
-
|
|
492
|
+
* The selectors.yaml entry behind a dialog reference, normalized the way the `locator` partial
|
|
493
|
+
* needs it. Shared by `renderDialogRoot` (which turns it into the root expression) and the
|
|
494
|
+
* scope-entry path (which keys off it to recognize the root again later — issue #692).
|
|
495
|
+
*/
|
|
496
|
+
resolveDialogEntry(selectorRef) {
|
|
497
|
+
let resolved;
|
|
498
|
+
try {
|
|
499
|
+
resolved = this.selectorResolver.resolveSelector(selectorRef, this.featureName, 'dialog', 0);
|
|
500
|
+
}
|
|
501
|
+
catch {
|
|
502
|
+
return undefined;
|
|
503
|
+
}
|
|
504
|
+
if (!resolved)
|
|
505
|
+
return undefined;
|
|
506
|
+
// `type: role` + a `locator:` field collapses to strategy 'css', which the locator partial
|
|
507
|
+
// has no case for — normalize it to the raw-locator strategy it actually means.
|
|
508
|
+
if (resolved.strategy === 'css' && resolved.locator) {
|
|
509
|
+
resolved = { ...resolved, strategy: 'locator', value: resolved.locator };
|
|
510
|
+
}
|
|
511
|
+
return resolved;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* SG-W013 — a page STEP whose path came from a fallback rather than from a `type: page`
|
|
515
|
+
* selector entry. Every resolver degrades quietly when `[Ref]` does not resolve: `see [X] page`
|
|
516
|
+
* and `wait for [X] page` fall back to the feature's own path, `is on [X] page` to `/<ref>/`.
|
|
517
|
+
* Before the match was anchored that produced a test which always PASSED; anchored, it produces
|
|
518
|
+
* one that can never pass — an assertion that always fails, or, since #677 anchored the wait
|
|
519
|
+
* too, a wait that can only time out. None is the step the author wrote, and nothing said so.
|
|
437
520
|
*
|
|
438
|
-
* Detected here rather than in the resolver on purpose:
|
|
439
|
-
*
|
|
440
|
-
*
|
|
521
|
+
* Detected here rather than in the resolver on purpose: the resolvers live in the driver packages
|
|
522
|
+
* while the collector lives in core (the mapped step now also names its pattern and carries the
|
|
523
|
+
* resolver's data, but the fallback itself is only visible by re-resolving the selector). Re-asking the SAME resolver the step-mapper already owns costs three lines and
|
|
441
524
|
* duplicates no logic — the alternative is widening the adapter contract for every driver.
|
|
442
525
|
*/
|
|
443
|
-
|
|
526
|
+
checkPageStepFallback(step, mapped) {
|
|
444
527
|
if (!this.diagnostics || !step.selectorRef || step.elementType !== 'page')
|
|
445
528
|
return;
|
|
446
|
-
|
|
447
|
-
|
|
529
|
+
// every shape that compiles a page path into an ANCHORED match: the two assertions (#662)
|
|
530
|
+
// and the wait (#677). A step that emitted none of them has no path to get wrong.
|
|
531
|
+
if (!/\b(?:urlMatches|expectPage|waitForPage)\(/.test(mapped.code || ''))
|
|
532
|
+
return;
|
|
448
533
|
let resolvedAsPage = false;
|
|
449
534
|
try {
|
|
450
535
|
const resolved = this.selectorResolver.resolveSelector(step.selectorRef, this.featureName, step.elementType, step.nth);
|
|
@@ -455,7 +540,7 @@ class StepMapper {
|
|
|
455
540
|
}
|
|
456
541
|
if (resolvedAsPage)
|
|
457
542
|
return;
|
|
458
|
-
this.diagnostics.add('SG-W013', `page
|
|
543
|
+
this.diagnostics.add('SG-W013', `page step "[${step.selectorRef}]" has no "type: page" selector entry, so it targets a FALLBACK path — the anchored match can never reach the real URL (an assertion always fails; a wait can only time out). Declare the page, e.g. "${step.selectorRef.toLowerCase()}:\\n type: page\\n value: '/your/path'"`, { feature: this.featureName, step: step.text });
|
|
459
544
|
}
|
|
460
545
|
/**
|
|
461
546
|
* SG-W014 — `[X] page with {{v}}` where the value carries neither a query nor a fragment, so the
|
|
@@ -502,6 +587,43 @@ class StepMapper {
|
|
|
502
587
|
* Deliberately narrow — it fires only on the bare-visibility shape, so a pattern that genuinely
|
|
503
588
|
* consumed the clause (`is-hidden`, `contains`, `matches-format`, the state family) is untouched.
|
|
504
589
|
*/
|
|
590
|
+
/**
|
|
591
|
+
* SG-E027 (#711) — the step names an entry whose `type:` is not a selector type, so the resolver
|
|
592
|
+
* fell to its placeholder default and this step compiled to `getByPlaceholder('<the value>')`:
|
|
593
|
+
* a locator that cannot match, which would fail much later as a timeout naming placeholder text
|
|
594
|
+
* the author never wrote. Compile it to a `throw` instead — the same reasoning as SG-E023 above,
|
|
595
|
+
* that a step which reads as a check and can only ever fail obscurely is worse than one that
|
|
596
|
+
* fails loudly and says why.
|
|
597
|
+
*
|
|
598
|
+
* The DIAGNOSTIC is not added here. `SelectorResolver.loadNewSelectorFile` already reported this
|
|
599
|
+
* entry once for the whole file; re-reporting per step would print the same line twenty times for
|
|
600
|
+
* one typo. This method only replaces the code, so the compile-time message and the runtime
|
|
601
|
+
* failure stay one fact reported once.
|
|
602
|
+
*
|
|
603
|
+
* A resolve throw means the key is missing entirely — a different defect that the resolver's own
|
|
604
|
+
* error already owns — and an auto-inferred selector stamps no `selectorType`, so both skip.
|
|
605
|
+
*/
|
|
606
|
+
checkUnknownSelectorType(step, mapped) {
|
|
607
|
+
if (!step.selectorRef)
|
|
608
|
+
return null;
|
|
609
|
+
let selectorType;
|
|
610
|
+
try {
|
|
611
|
+
selectorType = this.selectorResolver.resolveSelector(step.selectorRef, this.featureName, step.elementType, step.nth).selectorType;
|
|
612
|
+
}
|
|
613
|
+
catch {
|
|
614
|
+
return null; // missing key — the resolver's own error owns that
|
|
615
|
+
}
|
|
616
|
+
if (selectorType === undefined || (0, selector_type_validation_1.isKnownSelectorType)(selectorType))
|
|
617
|
+
return null;
|
|
618
|
+
const reason = `step "${step.text}" names selector "${step.selectorRef}", whose selectors.yaml `
|
|
619
|
+
+ `entry declares type: "${String(selectorType)}" — not a selector type, so the entry `
|
|
620
|
+
+ `resolved to a placeholder locator that cannot match. See SG-E027 for the valid types and `
|
|
621
|
+
+ `the nearest spelling to what was written.`;
|
|
622
|
+
return {
|
|
623
|
+
code: (0, unsupported_step_code_1.unsupportedStepCode)(reason),
|
|
624
|
+
comment: `Unknown selector type "${String(selectorType)}" — see SG-E027: ${step.text}`,
|
|
625
|
+
};
|
|
626
|
+
}
|
|
505
627
|
checkAssertionClauseSwallowed(step, mapped) {
|
|
506
628
|
const code = mapped.code || '';
|
|
507
629
|
// Bare visibility: nothing but a visible/displayed assertion on one locator.
|
|
@@ -543,6 +665,32 @@ class StepMapper {
|
|
|
543
665
|
comment: `Assertion clause dropped — see SG-E023: ${step.text}`,
|
|
544
666
|
};
|
|
545
667
|
}
|
|
668
|
+
checkClickPositionDropped(step, mapped) {
|
|
669
|
+
// Refs are masked; so is every quoted VALUE except a preset name — `with "Engineer at position 3"`
|
|
670
|
+
// is a text filter, not a position, while a mistyped `at postion "top-left"` must stay visible.
|
|
671
|
+
const masked = (0, mask_refs_for_matching_1.maskRefsForMatching)(step.text)
|
|
672
|
+
.replace(/"([^"]*)"/g, (quoted, inner) => (/^(?:top|bottom)-(?:left|right)$/i.test(inner.trim()) ? quoted : '"~"'));
|
|
673
|
+
if (!/\bclick/i.test(masked) || !StepMapper.CLICK_POSITION_HINT.test(masked))
|
|
674
|
+
return null;
|
|
675
|
+
// Already refused upstream (off-platform SG-W020, a dropped state clause, a missing template…):
|
|
676
|
+
// that refusal names the real cause; this guard only exists to stop a SILENT centre click.
|
|
677
|
+
if (/^throw new Error\("\[sungen\]/.test(mapped.code.trim()))
|
|
678
|
+
return null;
|
|
679
|
+
const refused = mapped.templateData?.positionError;
|
|
680
|
+
if (mapped.pattern === 'click-element-at-position' && !refused)
|
|
681
|
+
return null;
|
|
682
|
+
const reason = refused
|
|
683
|
+
? `step "${step.text}": ${refused}`
|
|
684
|
+
: `step "${step.text}" asks for a click position but compiled through the "${mapped.pattern ?? 'unknown'}" `
|
|
685
|
+
+ 'step form, which clicks the element\'s centre — the position would be silently dropped. Write '
|
|
686
|
+
+ 'it as `click [X] <type> at position "<preset>"` or `… at offset x=<n>px|%, y=<n>px|%` on its own: '
|
|
687
|
+
+ '`try to click`, a `with {{v}}` text filter and `… and accept [OK] alert` do not take a position.';
|
|
688
|
+
this.diagnostics?.add('SG-E026', reason, { feature: this.featureName, step: step.text });
|
|
689
|
+
return {
|
|
690
|
+
code: (0, unsupported_step_code_1.unsupportedStepCode)(reason),
|
|
691
|
+
comment: `Click position dropped — see SG-E026: ${step.text}`,
|
|
692
|
+
};
|
|
693
|
+
}
|
|
546
694
|
checkDataRefConsumed(step, mapped) {
|
|
547
695
|
if (!step.dataRef || !this.diagnostics)
|
|
548
696
|
return;
|
|
@@ -615,6 +763,66 @@ class StepMapper {
|
|
|
615
763
|
/**
|
|
616
764
|
* Create pattern context for generators
|
|
617
765
|
*/
|
|
766
|
+
/**
|
|
767
|
+
* Whether a mapped step emits anything that actually RUNS.
|
|
768
|
+
*
|
|
769
|
+
* Comments are stripped — block comments as well as line ones, because a template written with
|
|
770
|
+
* `/* … *\/` would otherwise read as executable code and silence the no-op diagnostics exactly
|
|
771
|
+
* when they were needed. Keyed on the emitted CODE rather than on a template name (MappedStep
|
|
772
|
+
* does not carry one), so any future template that degrades to a comment is caught without being
|
|
773
|
+
* enumerated anywhere.
|
|
774
|
+
*
|
|
775
|
+
* Shared by the SG-W022 / SG-W023 / SG-W026 checks — the three of them ask the same question, and
|
|
776
|
+
* three copies of this would drift.
|
|
777
|
+
*/
|
|
778
|
+
emitsExecutableCode(mapped) {
|
|
779
|
+
return Boolean((mapped.code || '')
|
|
780
|
+
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
781
|
+
.split('\n')
|
|
782
|
+
.map((l) => l.replace(/\/\/.*$/, '').trim())
|
|
783
|
+
.filter(Boolean)
|
|
784
|
+
.join(''));
|
|
785
|
+
}
|
|
786
|
+
/**
|
|
787
|
+
* SG-W026 — a mobile ACTIVE-NAVIGATION step that emitted no executable code, so a promised screen
|
|
788
|
+
* change never happens.
|
|
789
|
+
*
|
|
790
|
+
* `When User open [Settings] page` compiles to the one-line `navigation` template: a comment
|
|
791
|
+
* noting the app was already launched by the wdio capabilities. The step reads as "go to Settings"
|
|
792
|
+
* and goes nowhere. Pair it with `Then User see [X] page` — itself a no-op, reported as SG-W022 —
|
|
793
|
+
* and the whole scenario passes without ever touching the app.
|
|
794
|
+
*
|
|
795
|
+
* This completes a class that was handled in halves: `route-assertion` already throws loudly and
|
|
796
|
+
* `page-assertion` already reports W022; `navigation` alone was silent.
|
|
797
|
+
*
|
|
798
|
+
* Scoped to the ACTIVE forms. `is on [X] page` and its mobile `screen` twin are mobile's
|
|
799
|
+
* app-LAUNCH anchor, whose empty output is correct and documented as such where IS_ON_TYPES is
|
|
800
|
+
* defined — warning there would cry wolf on every valid mobile feature, and a diagnostic that
|
|
801
|
+
* cries wolf gets filtered out, taking the real ones with it. The exclusion is matched on
|
|
802
|
+
* `is on` FIRST, before the open/navigate test, because "the user is on the page they opened"
|
|
803
|
+
* phrasings contain both.
|
|
804
|
+
*
|
|
805
|
+
* Deliberately NOT a `throw`, for the same reason as SG-W023: an unfulfilled navigation weakens
|
|
806
|
+
* the scenario rather than inverting an assertion, and throwing would break every mobile suite
|
|
807
|
+
* already carrying one of these steps. `generate --strict` is the opt-in that makes it fail.
|
|
808
|
+
*/
|
|
809
|
+
checkNavigationNoOpOnMobile(step, mapped) {
|
|
810
|
+
if (this.platform !== 'mobile' || !this.diagnostics)
|
|
811
|
+
return;
|
|
812
|
+
const text = step.text.toLowerCase();
|
|
813
|
+
// The anchor is checked first and wins: it is legitimately empty on mobile.
|
|
814
|
+
if (/\bis\s+on\b/.test(text))
|
|
815
|
+
return;
|
|
816
|
+
if (!/\bopens?\b|\bnavigates?\s+to\b|\bgo(es)?\s+to\b/.test(text))
|
|
817
|
+
return;
|
|
818
|
+
// Only the navigation TARGET forms — `open [X] page|screen`. `open [X] dialog`/`menu` is a tap
|
|
819
|
+
// on a control, which compiles to real code and never reaches here anyway.
|
|
820
|
+
if (step.elementType && !['page', 'screen'].includes(step.elementType))
|
|
821
|
+
return;
|
|
822
|
+
if (this.emitsExecutableCode(mapped))
|
|
823
|
+
return;
|
|
824
|
+
this.diagnostics.add('SG-W026', 'this navigation step compiled to a COMMENT — a native app is already launched by the wdio capabilities, so nothing navigates and the following steps run against whatever screen the app happens to be on. Change screens the way a user does, with a tap/gesture on the control that opens it (`When User tap [Settings] button`), and assert a marker on the new screen; keep `is on [X] screen` only as the feature\'s opening anchor', { feature: this.featureName, step: step.text });
|
|
825
|
+
}
|
|
618
826
|
/**
|
|
619
827
|
* SG-W023 — a mobile SETUP step that emitted no executable code, so a declared precondition is
|
|
620
828
|
* never actually established.
|
|
@@ -649,13 +857,7 @@ class StepMapper {
|
|
|
649
857
|
// Strip comments; whatever remains is what actually runs. Block comments too — a template written
|
|
650
858
|
// with `/* … */` would otherwise read as executable code and silence this check exactly when it
|
|
651
859
|
// was needed.
|
|
652
|
-
|
|
653
|
-
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
654
|
-
.split('\n')
|
|
655
|
-
.map((l) => l.replace(/\/\/.*$/, '').trim())
|
|
656
|
-
.filter(Boolean)
|
|
657
|
-
.join('');
|
|
658
|
-
if (executable)
|
|
860
|
+
if (this.emitsExecutableCode(mapped))
|
|
659
861
|
return;
|
|
660
862
|
const remedy = isBackendState
|
|
661
863
|
? 'backend state is not app state — reset it through a test API/script, or bind a `@query:` precondition, the same way the web adapter has to'
|
|
@@ -688,16 +890,24 @@ class StepMapper {
|
|
|
688
890
|
// Strip comments; whatever remains is what actually runs. Block comments are handled as well as
|
|
689
891
|
// line ones: a template written with `/* … */` would otherwise read as executable code and
|
|
690
892
|
// silently defeat this check — the diagnostic would go quiet exactly when it was needed.
|
|
691
|
-
|
|
692
|
-
.replace(/\/\*[\s\S]*?\*\//g, '')
|
|
693
|
-
.split('\n')
|
|
694
|
-
.map((l) => l.replace(/\/\/.*$/, '').trim())
|
|
695
|
-
.filter(Boolean)
|
|
696
|
-
.join('');
|
|
697
|
-
if (executable)
|
|
893
|
+
if (this.emitsExecutableCode(mapped))
|
|
698
894
|
return;
|
|
699
895
|
this.diagnostics.add('SG-W022', 'a native app has no URL, so this page assertion compiled to a COMMENT — it asserts nothing and the scenario passes regardless. Assert a marker that is actually on the screen instead (`Then User see [Some Element] ...`), or tag the scenario @manual', { feature: this.featureName, step: step.text });
|
|
700
896
|
}
|
|
897
|
+
/**
|
|
898
|
+
* SG-W028 — a trailing `in [X] <word>` scope clause whose `<word>` is not a container type.
|
|
899
|
+
*
|
|
900
|
+
* The clause is dropped, and everything downstream takes the FIRST `[ref]` and the FIRST
|
|
901
|
+
* `{{data}}` it finds, so the sentence compiles clean while the assertion silently widens to the
|
|
902
|
+
* whole screen (#667). Unlike an unrecognized STEP, which at least raises SG-W001, a partially
|
|
903
|
+
* understood step used to say nothing at all — and a check that runs against more than it names
|
|
904
|
+
* passes for the wrong reason in exactly the list-of-identical-cards case it was written for.
|
|
905
|
+
*/
|
|
906
|
+
warnScopeClauseDiscarded(step) {
|
|
907
|
+
if (!step.unsupportedScopeType)
|
|
908
|
+
return;
|
|
909
|
+
this.diagnostics?.add('SG-W028', `\`${step.unsupportedScopeType}\` is not a container type, so the scope clause was DROPPED and this step runs against the whole page, not the named container. Supported: ${parent_scope_clause_1.PARENT_CONTAINER_TYPES.join(', ')}`, { feature: this.featureName, step: step.text });
|
|
910
|
+
}
|
|
701
911
|
/**
|
|
702
912
|
* SG-W021 — dialog scope is a no-op on the Appium adapter.
|
|
703
913
|
*
|
|
@@ -725,6 +935,7 @@ class StepMapper {
|
|
|
725
935
|
renderLocator: (resolved) => this.templateEngine.renderStep('locator', resolved),
|
|
726
936
|
appProfile: this.appProfile,
|
|
727
937
|
platform: this.platform,
|
|
938
|
+
featurePlatform: this.featurePlatform,
|
|
728
939
|
adapterName: this.adapterName,
|
|
729
940
|
diagnostics: this.diagnostics,
|
|
730
941
|
baseURL: this.baseURL,
|
|
@@ -740,4 +951,14 @@ exports.StepMapper = StepMapper;
|
|
|
740
951
|
/** Strategies the `locator` partial renders into a usable ROOT expression. Anything else
|
|
741
952
|
* (mobile native strategies) has no meaning as a Playwright dialog root. */
|
|
742
953
|
StepMapper.DIALOG_ROOT_STRATEGIES = ['locator', 'testid', 'role', 'id', 'label', 'text', 'placeholder'];
|
|
954
|
+
/**
|
|
955
|
+
* A click step that names a POSITION (`at position "top-left"`, `at offset x=…, y=…`) must compile
|
|
956
|
+
* through the positioned-click form with a position it understood. Anything else — a typo in the
|
|
957
|
+
* keyword, a value the grammar rejects, or a combination another click form claims first (`try to
|
|
958
|
+
* click … at position`, `… at offset … and accept [OK] alert`, `… with {{v}} … at position`) —
|
|
959
|
+
* would otherwise click the element's CENTRE and pass, which for a backdrop-dismiss test is the
|
|
960
|
+
* one outcome that proves nothing. Owned by the compiler rather than the driver so it holds no
|
|
961
|
+
* matter which pattern wins.
|
|
962
|
+
*/
|
|
963
|
+
StepMapper.CLICK_POSITION_HINT = /\bat\s+(?:position|offset)\b|\bat\s+\w+\s+(?:"(?:top|bottom)-(?:left|right)"|x\s*=)|\b(?:top|bottom)[- ](?:left|right)\b|\bat\s+x\s*=/i;
|
|
743
964
|
//# sourceMappingURL=step-mapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"step-mapper.js","sourceRoot":"","sources":["../../../src/generators/test-generator/step-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RenderImportsOptions } from './adapters/adapter-interface';
|
|
1
|
+
import type { RenderImportsOptions, HookRenderData } from './adapters/adapter-interface';
|
|
2
2
|
export declare class TemplateEngine {
|
|
3
3
|
private templates;
|
|
4
4
|
private templatesDir;
|
|
@@ -59,24 +59,9 @@ export declare class TemplateEngine {
|
|
|
59
59
|
code: string;
|
|
60
60
|
}>;
|
|
61
61
|
}): string;
|
|
62
|
-
renderBeforeAll(data:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
code: string;
|
|
66
|
-
}>;
|
|
67
|
-
}): string;
|
|
68
|
-
renderAfterEach(data: {
|
|
69
|
-
steps: Array<{
|
|
70
|
-
comment?: string;
|
|
71
|
-
code: string;
|
|
72
|
-
}>;
|
|
73
|
-
}): string;
|
|
74
|
-
renderAfterAll(data: {
|
|
75
|
-
steps: Array<{
|
|
76
|
-
comment?: string;
|
|
77
|
-
code: string;
|
|
78
|
-
}>;
|
|
79
|
-
}): string;
|
|
62
|
+
renderBeforeAll(data: HookRenderData): string;
|
|
63
|
+
renderAfterEach(data: HookRenderData): string;
|
|
64
|
+
renderAfterAll(data: HookRenderData): string;
|
|
80
65
|
renderScenario(data: {
|
|
81
66
|
scenarioName: string;
|
|
82
67
|
steps: Array<{
|