diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/gitbook-markdown/lib/summary.js | 1 | ||||
-rw-r--r-- | packages/gitbook-markdown/test/fixtures/SUMMARY_SUBLIST.md | 6 | ||||
-rw-r--r-- | packages/gitbook-markdown/test/summary.js | 9 |
3 files changed, 16 insertions, 0 deletions
diff --git a/packages/gitbook-markdown/lib/summary.js b/packages/gitbook-markdown/lib/summary.js index 2cb31be..77284cf 100644 --- a/packages/gitbook-markdown/lib/summary.js +++ b/packages/gitbook-markdown/lib/summary.js @@ -103,6 +103,7 @@ function parseTitle(src) { function parseChapter(nodes) { var node = _.first(nodes); if (!node) return null; + if (!node.text) throw new Error("Invalid entry in the SUMMARY"); return _.extend(parseTitle(node.text), { articles: _.chain(listSplit(filterList(nodes), 'list_item_start', 'list_item_end')) diff --git a/packages/gitbook-markdown/test/fixtures/SUMMARY_SUBLIST.md b/packages/gitbook-markdown/test/fixtures/SUMMARY_SUBLIST.md new file mode 100644 index 0000000..9f21215 --- /dev/null +++ b/packages/gitbook-markdown/test/fixtures/SUMMARY_SUBLIST.md @@ -0,0 +1,6 @@ +# Summary + +* Test +* 1. Landform + + diff --git a/packages/gitbook-markdown/test/summary.js b/packages/gitbook-markdown/test/summary.js index 98cd57f..a1bb49a 100644 --- a/packages/gitbook-markdown/test/summary.js +++ b/packages/gitbook-markdown/test/summary.js @@ -56,6 +56,15 @@ describe('Summary parsing', function () { assert.equal(l.chapters.length, 1); }); + it('should throw error for sublist entries', function() { + assert.throws( + function() { + var l = lex('SUMMARY_SUBLIST.md'); + }, + "Invalid entry in the SUMMARY" + ); + }); + it('should correctly convert it to text', function() { var text = summary.toText(LEXED); assertObjectsEqual(summary(text), LEXED); |