broccoli-markdown-codefences

1.0.1 • Public • Published

broccoli-markdown-codefences

Build Status GitHub version npm version Dependency Status

Generate tests for markdown codefences.

The internal code is heavily inspired by broccoli-lint-eslint.

Information

NPM

Installation

npm install --save broccoli-markdown-codefences

Usage

const MarkdownTest = require('broccoli-markdown-codefences');
const outputNode = MarkdownTest.create(inputNode, options);

API

  • inputNode A Broccoli node

  • options {Object}: Options to control how broccoli-markdown-codefences is run.

    • testGenerator {function(relativePath, asserts), returns test output string}: The function used to generate test modules. You can provide a custom function for your client side testing framework of choice.

      Default: null.

      • relativePath {String}: The relative path to the file being tested.
      • asserts {Array}: List of assertions made from codeTransforms.

      If you provide a string one of the predefined test generators is used. Currently supported are qunit and mocha.

      Example usage:

        var path = require('path');
       
        function testGenerator(relativePath, asserts) {
          return "module('" + path.dirname(relativePath) + "');\n";
                 "test('" + relativePath + "' should work', function() {\n" +
                 "  " + asserts.join('\n') + "\n" +
                 "});\n";
        }
       
        return new MarkdownTest(inputNode, {
          testGenerator: testGenerator
        });
    • persist {Boolean}: Persist the state of filter output across restarts

      Default: false.

    • codeTransforms {Object}: An object with codefences types and functions for converting code to code assertions. By default, there are implemented javascript, html and json code transforms. This option is merged with defaults.

      Example usage:

        var path = require('path');
       
        return new MarkdownTest(inputNode, {
          testGenerator: 'qunit',
          codeTransforms: {
            text: (code) => "console.log('" + code + "');"
          }
        });
    • extensions {Array}: File extensions to lint.

      Default: markdown-extensions.

Contribute

If you want to contribute to this addon, please read the CONTRIBUTING.md.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

See the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Package Sidebar

Install

npm i broccoli-markdown-codefences

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

11.4 kB

Total Files

12

Last publish

Collaborators

  • bbvaengineer