summaryrefslogtreecommitdiffstats
path: root/lib/output/__tests__/website.js
diff options
context:
space:
mode:
Diffstat (limited to 'lib/output/__tests__/website.js')
-rw-r--r--lib/output/__tests__/website.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/output/__tests__/website.js b/lib/output/__tests__/website.js
index 554c56c..501503a 100644
--- a/lib/output/__tests__/website.js
+++ b/lib/output/__tests__/website.js
@@ -1,3 +1,4 @@
+var fs = require('fs');
var generateMock = require('../generateMock');
var WebsiteGenerator = require('../website');
@@ -12,6 +13,54 @@ describe('WebsiteGenerator', function() {
});
});
+ describe('Glossary', function() {
+ var folder;
+
+ before(function() {
+ return generateMock(WebsiteGenerator, {
+ 'README.md': 'Hello World',
+ 'SUMMARY.md': '* [Deep](folder/page.md)',
+ 'folder': {
+ 'page.md': 'Hello World'
+ },
+ 'GLOSSARY.md': '# Glossary\n\n## Hello\n\nHello World'
+ })
+ .then(function(_folder) {
+ folder = _folder;
+ });
+ });
+
+ it('should generate a GLOSSARY.html', function() {
+ expect(folder).toHaveFile('GLOSSARY.html');
+ });
+
+ it('should correctly resolve glossary links in README', function() {
+ var html = fs.readFileSync(folder + '/index.html', 'utf8');
+ expect(html).toHaveDOMElement('.page-inner a[href="GLOSSARY.html#hello"]');
+ });
+
+ it('should correctly resolve glossary links in directory', function() {
+ var html = fs.readFileSync(folder + '/folder/page.html', 'utf8');
+ expect(html).toHaveDOMElement('.page-inner a[href="../GLOSSARY.html#hello"]');
+ });
+
+ it('should accept a custom glossary file', function() {
+ return generateMock(WebsiteGenerator, {
+ 'README.md': 'Hello World',
+ 'book.json': '{ "structure": { "glossary": "custom.md" } }',
+ 'custom.md': '# Glossary\n\n## Hello\n\nHello World'
+ })
+ .then(function(folder) {
+ expect(folder).toHaveFile('custom.html');
+ expect(folder).toNotHaveFile('GLOSSARY.html');
+
+ var html = fs.readFileSync(folder + '/index.html', 'utf8');
+ expect(html).toHaveDOMElement('.page-inner a[href="custom.html#hello"]');
+ });
+ });
+ });
+
+
it('should copy asset files', function() {
return generateMock(WebsiteGenerator, {
'README.md': 'Hello World',