summaryrefslogtreecommitdiffstats
path: root/test/output-website.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-02-26 09:41:26 +0100
committerSamy Pessé <samypesse@gmail.com>2016-02-26 09:41:26 +0100
commitd3d64f636c859f7f01a64f7774cf70bd8ccdc562 (patch)
tree4f7731f37c3a793d187b0ab1cd77680e69534c6c /test/output-website.js
parent4cb9cbb5ae3aa8f9211ffa3ac5e3d34232c0ca4f (diff)
parenteef072693b17526347c37b66078a5059c71caa31 (diff)
downloadgitbook-d3d64f636c859f7f01a64f7774cf70bd8ccdc562.zip
gitbook-d3d64f636c859f7f01a64f7774cf70bd8ccdc562.tar.gz
gitbook-d3d64f636c859f7f01a64f7774cf70bd8ccdc562.tar.bz2
Merge pull request #1109 from GitbookIO/3.0.0
Version 3.0.0
Diffstat (limited to 'test/output-website.js')
-rw-r--r--test/output-website.js99
1 files changed, 99 insertions, 0 deletions
diff --git a/test/output-website.js b/test/output-website.js
new file mode 100644
index 0000000..19459b3
--- /dev/null
+++ b/test/output-website.js
@@ -0,0 +1,99 @@
+var mock = require('./mock');
+var WebsiteOutput = require('../lib/output/website');
+
+describe('Website Output', function() {
+
+ describe('Sample Book', function() {
+ var output;
+
+ before(function() {
+ return mock.outputDefaultBook(WebsiteOutput)
+ .then(function(_output) {
+ output = _output;
+ });
+ });
+
+ it('should correctly generate an index.html', function() {
+ output.should.have.file('index.html');
+ });
+
+ it('should correctly copy assets', function() {
+ output.should.have.file('gitbook/app.js');
+ output.should.have.file('gitbook/images/favicon.ico');
+ });
+
+ it('should correctly copy plugins', function() {
+ output.should.have.file('gitbook/gitbook-plugin-highlight/website.css');
+ });
+ });
+
+ describe('Book with chapters', function() {
+ var output;
+
+ before(function() {
+ return mock.outputDefaultBook(WebsiteOutput, {
+ 'hello/README.md': '# Hello',
+ 'hello/test.md': '# Test'
+ }, [
+ {
+ title: 'Hello',
+ path: 'hello/README.md'
+ },
+ {
+ title: 'Test',
+ path: 'hello/test.md'
+ }
+ ])
+ .then(function(_output) {
+ output = _output;
+ });
+ });
+
+ it('should correctly generate an index.html', function() {
+ output.should.have.file('index.html');
+ });
+
+ it('should correctly generate files in folder', 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');
+ });
+ });
+
+});
+