Generate tests for markdown codefences.
The internal code is heavily inspired by broccoli-lint-eslint.
npm install --save broccoli-markdown-codefences
const MarkdownTest = require('broccoli-markdown-codefences');
const outputNode = MarkdownTest.create(inputNode, options);
-
inputNode
A Broccoli node -
options
{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.
-
If you want to contribute to this addon, please read the CONTRIBUTING.md.
We use SemVer for versioning. For the versions available, see the tags on this repository.
See the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details