Add fiel for testing resolveLinks

This commit is contained in:
Samy Pesse
2016-04-24 23:45:47 +02:00
parent 93b257314a
commit 3f5c8acb3c
5 changed files with 61 additions and 5 deletions
+1 -1
View File
@@ -47,5 +47,5 @@ module.exports = Immutable.List([
return { body: out };
});
}
}),
})
]);
+26
View File
@@ -0,0 +1,26 @@
var Modifier = require('../modifier');
var resolveFile = require('./resolveFile');
/**
Return default modifier to prepare a page
@return <Array>
*/
function getModifiers(output, page) {
var book = output.getBook();
var glossary = book.getGlossary();
var entries = glossary.getEntries();
var file = page.getFile();
return [
Modifier.addHeadingId,
Modifier.resolveLinks.bind(null,
file.getPath(),
resolveFile.bind(null, output)
),
Modifier.annotateText(entries)
];
}
module.exports = getModifiers;
+2 -4
View File
@@ -1,6 +1,7 @@
var JSONUtils = require('../../json');
var Modifier = require('../modifier');
var Writer = require('../writer');
var getModifiers = require('../getModifiers');
/**
Write a page as a json file
@@ -9,10 +10,7 @@ var Writer = require('../writer');
@param {Page} page
*/
function onPage(output, page) {
return Modifier.modifyHTML(page, [
Modifier.addHeadingId,
Modifier.resolveLinks
])
return Modifier.modifyHTML(page, getModifiers(output, page))
.then(function(resultPage) {
// Generate the JSON
var json = JSONUtils.encodeBookWithPage(output.getBook(), resultPage);
@@ -0,0 +1,11 @@
jest.autoMockOff();
var cheerio = require('cheerio');
describe('resolveLinks', function() {
var resolveLinks = require('../resolveLinks');
});
+21
View File
@@ -0,0 +1,21 @@
var PathUtils = require('../utils/path');
/**
Resolve an absolute path (extracted from a link)
@param {Output} output
@param {String} filePath
@return {String}
*/
function resolveFile(output, filePath) {
var pages = output.getPages();
var page = pages.get(filePath);
if (!page) {
return filePath;
}
return PathUtils.setExtension(filePath, '.html');
}
module.exports = resolveFile;