UNPKG

standard-markdown

Version:

Test your Markdown files for Standard JavaScript Style™

48 lines (39 loc) 1.65 kB
'use strict' var test = require('tape') var fs = require('fs') var path = require('path') var standardMarkdown = require('..') var dirty = fs.readFileSync(path.join(__dirname, 'fixtures/dirty.md'), 'utf8') var clean = fs.readFileSync(path.join(__dirname, 'fixtures/clean.md'), 'utf8') test('standardMarkdown', function (t) { standardMarkdown.lintText(dirty, function (err, results) { if (err) throw err // console.error(JSON.stringify(results, null, 2)) t.comment('dirty fixture') t.equal(results.length, 6, 'returns six linting errors') t.equal(results[0].message, "'foo' is defined but never used", 'finds errors') t.equal(results[1].message, 'Extra semicolon.', 'finds errors in first block') t.equal(results[1].line, 6, 'identifies correct line number in first block') t.equal(results[2].message, 'Extra semicolon.', 'finds errors in second block') t.equal(results[2].line, 20, 'identifies correct line number in first block') t.comment('every error') t.ok(results.every(function (result) { return result.message.length }), 'has a `message` property') t.ok(results.every(function (result) { return result.line > 0 }), 'has a `line` property') t.ok(results.every(function (result) { return result.column > 0 }), 'has a `column` property') t.ok(results.every(function (result) { return result.severity > 0 }), 'has a `severity` property') t.comment('clean fixture') standardMarkdown.lintText(clean, function (err, results) { if (err) throw err t.equal(results.length, 0, 'has no errors') t.end() }) }) })