parser-combinator
Version:
Parser combinators
152 lines (128 loc) • 5.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _markdownParser = require('../../../lib/standard/markdown/markdown-parser');
var _markdownParser2 = _interopRequireDefault(_markdownParser);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var value = undefined; /**
* Created by Simon on 16/12/2016.
*
*/
function testLine(line) {
var parsing = _markdownParser2.default.parseLine(line);
value = parsing.value;
}
exports.default = {
setUp: function setUp(done) {
done();
},
/*
'test empty text2': function (test) {
testLine(' ');
test.ok(accepted, 'blank line is accepted');
test.done();
},
'test empty text3': function (test) {
testLine(' \n\n \n \n ');
test.ok(accepted, 'blank lines are accepted');
test.done();
}, */
'test level1': function testLevel1(test) {
testLine('# title1\n');
var expected = { title: { level: 1, text: 'title1' } };
test.deepEqual(expected, value, 'test title1');
test.done();
},
'test level3': function testLevel3(test) {
testLine('### title\n');
var expected = { title: { level: 3, text: 'title' } };
test.deepEqual(expected, value, 'test title level 3');
test.done();
},
'title alternate 1 should be accepted': function titleAlternate1ShouldBeAccepted(test) {
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) {
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) {
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) {
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) {
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');
test.done();
},
' stars into title2': function starsIntoTitle2(test) {
testLine('## 2*3*4 = 24\n');
var expected = { title: { level: 2, text: '2*3*4 = 24' } };
test.deepEqual(expected, value, 'test stars in title2');
test.done();
},
'test simple text': function testSimpleText(test) {
testLine('text');
test.deepEqual({ paragraph: [{ text: 'text' }] }, value);
test.done();
},
'test simple text2': function testSimpleText2(test) {
testLine(' text ');
test.deepEqual({ paragraph: [{ text: 'text' }] }, value);
test.done();
},
'test italic': function testItalic(test) {
testLine('*text*');
test.deepEqual({ paragraph: [{ italic: 'text' }] }, value);
test.done();
},
'test bold': function testBold(test) {
testLine('**text**');
test.deepEqual({ paragraph: [{ bold: 'text' }] }, value);
test.done();
},
'test combined format': function testCombinedFormat(test) {
testLine(' *italic* text **then bold** ');
var expected = {
paragraph: [{ italic: 'italic' }, { text: ' text ' }, { bold: 'then bold' }, { text: ' ' }]
};
test.deepEqual(expected, value);
test.done();
},
'single \\n must be translated as space': function singleNMustBeTranslatedAsSpace(test) {
testLine(' *italic* text\n**then bold** ');
var expected = {
paragraph: [{ italic: 'italic' }, { text: ' text ' }, { bold: 'then bold' }, { text: ' ' }]
};
test.deepEqual(expected, value);
test.done();
},
'test normal bullet': function testNormalBullet(test) {
var line = '* This is a bullet';
testLine(line);
test.deepEqual({ bullet: { level: 1, content: [{ text: 'This is a bullet' }] } }, value, 'problem test:test normal bullet');
test.done();
},
'test complex bullet': function testComplexBullet(test) {
var line = '* This is a bullet \n ';
testLine(line);
test.deepEqual({ bullet: { level: 1, content: [{ text: ' This is a bullet ' }] } }, value, 'problem test:test complex bullet ');
test.done();
}
};
//# sourceMappingURL=single-lines-parser-test.js.map