Articles rendering system

This commit is contained in:
Clément GOUIN
2019-06-20 13:49:44 +02:00
parent 69d05e3900
commit b7a2fd0740
7 changed files with 131 additions and 12 deletions
+2 -2
View File
@@ -234,7 +234,7 @@ describe('Test article fetching', () => {
title: 'Untitled',
thumbnail: 'default.png',
escapedTitle: 'untitled',
url: path.join('2019', '05', '05', 'untitled'),
url: path.join('2019', '05', '05', 'untitled')+'/',
});
done();
});
@@ -262,7 +262,7 @@ describe('Test article fetching', () => {
title: 'Title with : info !',
thumbnail: path.join('2019', '05', '05', './thumbnail.jpg'),
escapedTitle: 'title_with___info',
url: path.join('2019', '05', '05', 'title_with___info'),
url: path.join('2019', '05', '05', 'title_with___info')+'/',
});
done();
});
+53
View File
@@ -0,0 +1,53 @@
/* jshint -W117 */
const fs = require('fs');
const path = require('path');
const utils = require('./test_utils');
const dataDir = 'test_data';
const file = path.join(dataDir, 'test.md');
const config = {
'showdown': {
'simplifiedAutoLink': true,
'smartIndentationFix': true
}
};
const renderer = require('../src/renderer')(config);
beforeEach(() => {
utils.deleteFolderSync(dataDir);
fs.mkdirSync(dataDir);
});
afterAll(() => {
if (fs.existsSync(dataDir)) {
utils.deleteFolderSync(dataDir);
}
});
test('invalid file', (done) => {
renderer.render('invalid file', (err, html) => {
expect(err).not.toBeNull();
expect(html).not.toBeDefined();
done();
});
});
test('normal file', (done) => {
fs.writeFileSync(file, `# Hello`);
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).toBe('<h1 id="hello">Hello</h1>');
done();
});
});
test('custom rules', (done) => {
fs.writeFileSync(file, `www.google.com`);
renderer.render(file, (err, html) => {
expect(err).toBeNull();
expect(html).toBe('<p><a href="http://www.google.com">www.google.com</a></p>');
done();
});
});