New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

gpc-for-loop

Package Overview
Dependencies
Maintainers
0
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

gpc-for-loop

A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.

  • 1.1.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7.7K
decreased by-17.15%
Maintainers
0
Weekly downloads
 
Created
Source

gpc-for-loop

Downloads Version@npm Version@git CI Docs

A precompiler of GherKing to loop scenarios and scenario outlines to repeat them.

In the case of scenario outlines, it copies all rows of examples, resulting in iterator × rows number of scenarios when tests are run.

Usage

Identify scenario or scenario outline to be repeated and mark it with ${loopTag}(${i}) e.g. @loop(4).

The precompiler will then repeat this scenario or scenario outline for ${i} times, modifying its name according to the format.

Configurable variables and their default options:

OptionDefaultDescription
maxValue10Maximum value of repeat (for explicit loops, not applicable for iterations)
tagName'loop'Tag used to mark scenarios or outlines to be repeated
format'${name} (${i})'Format of the scenario or outline name after repeating
startIndex1The first index to use when repeating a scenario
limitToMaxValuetrueWhether higher repeat values than the max should be limited to the max or error should be thrown ( false )
keepTagfalseWhether the loop tags should be kept or removed (default)
iterations-An object of iteration name and values (named repeat values)

If iterations is set, the keys of the iterations object can be used as values of the loop tag, to use predefined repeat values. For example, if iterations is { "stress": 5 } then @loop(stress) means repeating 5 times.

See examples for the input files and output in the test/data folder.

"use strict";
const compiler = require("gherking");
const ForLoop = require("gpc-for-loop");

let ast = await compiler.load("./features/src/login.feature");
ast = compiler.process(
  ast,
  new ForLoop({
    // config
  }),
);
await compiler.save("./features/dist/login.feature", ast, {
  lineBreak: "\r\n",
});
"use strict";
import { load, process, save } from "gherking";
import ForLoop = require("gpc-for-loop");

let ast = await load("./features/src/login.feature");
ast = process(
  ast,
  new ForLoop({
    // config
  }),
);
await save("./features/dist/login.feature", ast, {
  lineBreak: "\r\n",
});

Other

This package uses debug for logging, use gpc:for-loop :

DEBUG=gpc:for-loop* gherking ...

For detailed documentation see the TypeDocs documentation.

Keywords

FAQs

Package last updated on 09 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc