diff options
author | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-03-31 17:06:35 -0700 |
---|---|---|
committer | Aaron O'Mullan <aaron.omullan@friendco.de> | 2014-03-31 17:06:39 -0700 |
commit | 39f1ed055e87df7a8010f7b998ec4f931997be00 (patch) | |
tree | ed356b16663225d659c221325ecd8f3998a173f9 /test | |
parent | 3f3bade58e3b258aadab8ecf084004d06e62cede (diff) | |
download | gitbook-39f1ed055e87df7a8010f7b998ec4f931997be00.zip gitbook-39f1ed055e87df7a8010f7b998ec4f931997be00.tar.gz gitbook-39f1ed055e87df7a8010f7b998ec4f931997be00.tar.bz2 |
Add parse.navigation module
With tests
Diffstat (limited to 'test')
-rw-r--r-- | test/navigation.js | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/navigation.js b/test/navigation.js new file mode 100644 index 0000000..d34c12a --- /dev/null +++ b/test/navigation.js @@ -0,0 +1,46 @@ +var fs = require('fs'); +var path = require('path'); +var assert = require('assert'); + +var summary = require('../').parse.summary; +var navigation = require('../').parse.navigation; + + +var CONTENT = fs.readFileSync(path.join(__dirname, './fixtures/SUMMARY.md'), 'utf8'); +var LEXED = summary(CONTENT); + + +describe('Summary navigation', function() { + it('should provide next & prev entries for a file', function() { + var nav = navigation(LEXED, [ + 'README.html', + 'chapter-1/ARTICLE1.html', + 'chapter-1/ARTICLE2.html' + ]); + + // Make sure it found the files we gave it + assert(nav['README.html']); + assert(nav['chapter-1/ARTICLE1.html']); + assert(nav['chapter-1/ARTICLE2.html']); + + assert.equal(nav['README.html'].prev, null); + assert.equal(nav['README.html'].next.path, 'chapter-1/README.html'); + + assert.equal(nav['chapter-1/ARTICLE1.html'].prev.path, 'chapter-1/README.html'); + assert.equal(nav['chapter-1/ARTICLE1.html'].next.path, 'chapter-1/ARTICLE2.html'); + + assert.equal(nav['chapter-1/ARTICLE2.html'].prev.path, 'chapter-1/ARTICLE1.html'); + assert.equal(nav['chapter-1/ARTICLE2.html'].next.path, 'chapter-2/README.html'); + }); + + it('should give full tree, when not limited', function() { + var nav = navigation(LEXED); + + assert(nav['README.html']); + assert(nav['chapter-1/README.html']); + assert(nav['chapter-1/ARTICLE1.html']); + assert(nav['chapter-1/ARTICLE2.html']); + assert(nav['chapter-2/README.html']); + assert(nav['chapter-3/README.html']); + }); +}); |