UNPKG

parser-combinator

Version:
119 lines (84 loc) 3.3 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _titleParser = require('../../../lib/standard/markdown/title-parser'); var _titleParser2 = _interopRequireDefault(_titleParser); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var value = undefined; /** * Created by Simon on 14/12/2016. */ var accepted = undefined; var parser = null; function testLine(line) { var parsing = parser.parse(line); value = parsing.value; accepted = parsing.isAccepted(); } exports.default = { setUp: function setUp(done) { parser = _titleParser2.default; done(); }, 'test level1': function testLevel1(test) { test.expect(2); testLine('# title1\n'); var expected = { title: { level: 1, text: 'title1' } }; test.ok(accepted, 'test title1'); test.deepEqual(expected, value, 'test title1'); test.done(); }, 'test level3': function testLevel3(test) { test.expect(2); testLine('### title\n'); var expected = { title: { level: 3, text: 'title' } }; test.ok(accepted, 'test title level 3'); test.deepEqual(expected, value, 'test title level 3'); test.done(); }, 'title alternate 1 should be accepted': function titleAlternate1ShouldBeAccepted(test) { test.expect(1); testLine('Title\n=====\n'); var expected = { title: { level: 1, text: 'Title' } }; test.deepEqual(expected, value, 'test title1 alt'); test.done(); }, 'title alternate 1 should be title1': function titleAlternate1ShouldBeTitle1(test) { test.expect(1); testLine('Title\n===== \n'); var expected = { title: { level: 1, text: 'Title' } }; test.deepEqual(expected, value, 'test title1 alt'); test.done(); }, 'title alternate 2 should be accepted': function titleAlternate2ShouldBeAccepted(test) { test.expect(1); testLine('Title\n-----\n'); var expected = { title: { level: 2, text: 'Title' } }; test.deepEqual(expected, value, 'test title2 alt'); test.done(); }, 'title alternate 2 should be title1': function titleAlternate2ShouldBeTitle1(test) { test.expect(1); testLine('Title\n------ \n'); var expected = { title: { level: 2, text: 'Title' } }; test.deepEqual(expected, value, 'test title2 alt'); test.done(); }, ' stars into title': function starsIntoTitle(test) { test.expect(2); testLine('2*3*4 = 24\n------ \n'); var expected = { title: { level: 2, text: '2*3*4 = 24' } }; test.deepEqual(expected, value, 'test stars in title1'); testLine('## 2*3*4 = 24\n'); expected = { title: { level: 2, text: '2*3*4 = 24' } }; test.deepEqual(expected, value, 'test stars in title2'); test.done(); }, 'Sharps not followed by space': function SharpsNotFollowedBySpace(test) { test.expect(1); testLine('#Not tile'); test.ok(!accepted, 'Sharp not followed by space shall not be parsed'); test.done(); } }; //# sourceMappingURL=title-test.js.map