diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-02-24 13:35:59 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-02-24 13:35:59 +0100 |
commit | e85ad95bcf3627a223b3a2eacaa29835142249eb (patch) | |
tree | 1195387b49276e8b0b5b1c9185371c9f96a9ad38 /test | |
parent | bd73c7978743329f893c1125d1645b8aa24eb7d8 (diff) | |
download | gitbook-e85ad95bcf3627a223b3a2eacaa29835142249eb.zip gitbook-e85ad95bcf3627a223b3a2eacaa29835142249eb.tar.gz gitbook-e85ad95bcf3627a223b3a2eacaa29835142249eb.tar.bz2 |
Generate multi-lingual index
Diffstat (limited to 'test')
-rw-r--r-- | test/mock.js | 17 | ||||
-rw-r--r-- | test/output-website.js | 36 |
2 files changed, 52 insertions, 1 deletions
diff --git a/test/mock.js b/test/mock.js index 1bb92e2..5ff9f63 100644 --- a/test/mock.js +++ b/test/mock.js @@ -84,6 +84,22 @@ function outputDefaultBook(Output, files, summary, opts) { }); } +// Output a book with a specific generator +function outputBook(Output, files, opts) { + return setupBook(files, opts) + .then(function(book) { + // Parse the book + return book.parse() + + // Start generation + .then(function() { + var output = new Output(book); + return output.generate() + .thenResolve(output); + }); + }); +} + // Log an error function logError(err) { console.log(err.stack || err); @@ -93,6 +109,7 @@ module.exports = { fs: nodeFS, setupFS: setupFS, setupBook: setupBook, + outputBook: outputBook, setupDefaultBook: setupDefaultBook, outputDefaultBook: outputDefaultBook, logError: logError diff --git a/test/output-website.js b/test/output-website.js index 69adf88..19459b3 100644 --- a/test/output-website.js +++ b/test/output-website.js @@ -25,7 +25,6 @@ describe('Website Output', function() { it('should correctly copy plugins', function() { output.should.have.file('gitbook/gitbook-plugin-highlight/website.css'); }); - }); describe('Book with chapters', function() { @@ -58,7 +57,42 @@ describe('Website Output', function() { output.should.have.file('hello/index.html'); output.should.have.file('hello/test.html'); }); + }); + + describe('Multilingual Book', function() { + var output; + + before(function() { + return mock.outputBook(WebsiteOutput, { + 'LANGS.md': '# Languages\n\n' + + '* [en](./en)\n' + + '* [fr](./fr)\n\n', + 'en/README.md': '# Hello', + 'fr/README.md': '# Bonjour' + + }) + .then(function(_output) { + output = _output; + }); + }); + it('should correctly generate an index.html for each language', function() { + output.should.have.file('en/index.html'); + output.should.have.file('fr/index.html'); + }); + + it('should correctly copy assets', function() { + output.should.have.file('gitbook/app.js'); + }); + + it('should not copy assets for each language', function() { + output.should.have.not.file('en/gitbook/app.js'); + output.should.have.not.file('fr/gitbook/app.js'); + }); + + it('should correctly generate an index.html', function() { + output.should.have.file('index.html'); + }); }); }); |