diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-01-28 17:35:32 +0100 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-01-28 17:35:32 +0100 |
commit | 461ef2c68e9086bd77f0a25d57956ebf60308f7c (patch) | |
tree | c0e8814e3c57ea5bf21526acc3a7e9b1c925576a /test/3-glossary.js | |
parent | 46efdacd6d3d5c7560d8f956e2339c36157f7c89 (diff) | |
download | gitbook-461ef2c68e9086bd77f0a25d57956ebf60308f7c.zip gitbook-461ef2c68e9086bd77f0a25d57956ebf60308f7c.tar.gz gitbook-461ef2c68e9086bd77f0a25d57956ebf60308f7c.tar.bz2 |
Add unit tests for langs
Diffstat (limited to 'test/3-glossary.js')
-rw-r--r-- | test/3-glossary.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/test/3-glossary.js b/test/3-glossary.js new file mode 100644 index 0000000..176298f --- /dev/null +++ b/test/3-glossary.js @@ -0,0 +1,71 @@ +var should = require('should'); +var mock = require('./mock'); + +describe('Glossary', function() { + it('should parse empty glossary', function() { + return mock.setupDefaultBook({ + 'GLOSSARY.md': '' + }) + .then(function(book) { + return book.prepareConfig() + + .then(function() { + return book.glossary.load(); + }) + .then(function() { + book.glossary.isEmpty().should.be.true(); + }); + }); + }); + + describe('Non-empty glossary', function() { + var book; + + before(function() { + return mock.setupDefaultBook({ + 'GLOSSARY.md': '# Glossary\n\n### Hello World\n\nThis is an entry' + }) + .then(function(_book) { + book = _book; + return book.prepareConfig(); + }) + .then(function() { + return book.glossary.load(); + }); + }); + + it('should not be empty', function() { + book.glossary.isEmpty().should.be.false(); + }); + + describe('glossary.get', function() { + it('should return an existing entry', function() { + var entry = book.glossary.get('hello_world'); + should.exist(entry); + + entry.name.should.equal('Hello World'); + entry.description.should.equal('This is an entry'); + entry.id.should.equal('hello_world'); + }); + + it('should undefined return non existing entry', function() { + var entry = book.glossary.get('cool'); + should.not.exist(entry); + }); + }); + + describe('glossary.find', function() { + it('should return an existing entry', function() { + var entry = book.glossary.find('HeLLo World'); + should.exist(entry); + entry.id.should.equal('hello_world'); + }); + + it('should undefined return non existing entry', function() { + var entry = book.glossary.find('Hello'); + should.not.exist(entry); + }); + }); + }); +}); + |