var should = require('should'), // jshint ignore:line getExcerpt = require('../../../server/data/meta/excerpt'); describe('getExcerpt', function () { it('should return html excerpt with no html', function () { var html = '
There are
10
types
of people in the world:' +
' those who ' +
'understand trinary
Testing1, ' + 'my footnotes. And stuff. Footnote2with a link ' + 'right after.', expected = 'Testing, my footnotes. And stuff. Footnotewith a link right after.'; getExcerpt(html, {}).should.equal(expected); }); it('should return html excerpt striping inline and bottom footnotes', function () { var html = '
Testing1' + ' a very short post with a single footnote.
\n' + '' + 'https://ghost.org ↩
Hello World! It\'s me!
', expected = 'Hello World!'; getExcerpt(html, {words: '2'}).should.equal(expected); }); it('should return html excerpt truncated by words with non-ascii characters', function () { var html = 'Едквюэ опортэат праэчынт ючю но, квуй эю
', expected = 'Едквюэ опортэат'; getExcerpt(html, {words: '2'}).should.equal(expected); }); it('should return html excerpt truncated by character', function () { var html = 'Hello World! It\'s me!
', expected = 'Hello Wo'; getExcerpt(html, {characters: '8'}).should.equal(expected); }); it('should fall back to 50 words if not specified', function () { var html = 'There are
10
types
of people in the world:' +
' those who ' +
'understand trinary