broccoli-markdown-codefences
v1.0.1
Published
Broccoli filter that test markdown codefences
Downloads
6
Maintainers
Readme
broccoli-markdown-codefences
Generate tests for markdown codefences.
The internal code is heavily inspired by broccoli-lint-eslint.
Information
Installation
npm install --save broccoli-markdown-codefences
Usage
const MarkdownTest = require('broccoli-markdown-codefences');
const outputNode = MarkdownTest.create(inputNode, options);
API
inputNode
A Broccoli nodeoptions
{Object}: Options to control howbroccoli-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
andmocha
.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 restartsDefault:
false
.codeTransforms
{Object}: An object with codefences types and functions for converting code to code assertions. By default, there are implementedjavascript
,html
andjson
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