Notorious Preying Mantis

    This package has been deprecated

    Author message:

    Use gherking@2.0.0

    gherkin-assembler

    2.0.1 • Public • Published

    gherkin-assembler

    Build Status dependency Status devDependency Status Coverage Status

    It allows to convert Gherkin AST to feature file string.

    API

    objectToAST(document)

    The objectToAST API method converts the given Gherkin object into GherkinDocument object.

    A complete sample Gherkin object can be found here: Complete Gherkin object.

    Params:

    • {Object} documet - a single Gherkin object

    Returns: {GherkinDocument}

    format(document, options)

    The format API method formats the given Gherkin Document(s) to string (which could be written out to feature file(s)).

    Params:

    • {GherkinDocument|Array<GherkinDocument>} document - a single or multiple Gherkin Documents given in it's AST model.
    • {FormatConfig} options - options to set attributes of formatting.

    Returns: {string|Array<string>}

    'use strict';
     
    const fs = require('fs');
    const assembler = require('gherkin-assembler');
    const document = assembler.objectToAST(require('./login.ast.json'));
     
    fs.writeFileSync('./login.feature', assembler.format(document), 'utf8');

    FormatConfig

    By passing an FormatConfig object to format method (or other Ast type methods where it's applicable) it can be set, how feature file text is rendered.

    Option Description Default
    oneTagPerLine Should tags rendered separately, one by line? false, i.e. all tag of a scenario, feature, etc will be rendered in the same line
    separateStepGroups Should step groups (when-then) be separated? false
    compact Should empty lines be skipped, removed from the result? false, i.e. there will be empty lines in appropriate places
    lineBreak The line break character(s). \n, i.e. it uses Unix line break, to set Windows style, set \r\n
    indentation The indentation character(s). ' ', i.e. it uses two space character to add indentation where it's appropriate

    Parsing feature files to Gherkin object

    Although this package does not contain method to parse feature file to Gherkin object, you can use the gherkin subpackage of CucumberJS.

    'use strict';
    const fs = require('fs');
    const {Parser} = require('gherkin');
    const parser = new Parser();
    const document = parser.parse(fs.readFileSync('./login.feature'));
     
    // use objectToAST and format to write it to file again

    Install

    npm i gherkin-assembler

    DownloadsWeekly Downloads

    11,706

    Version

    2.0.1

    License

    MIT

    Unpacked Size

    10.4 kB

    Total Files

    7

    Last publish

    Collaborators

    • judit-nahaj
    • monikalaszlo
    • rakur
    • sorosz89
    • szikszail
    • wgula