@@ -4,6 +4,7 @@ var fs = require('fs')
44var path = require ( 'path' )
55var remark = require ( 'remark' )
66var remarkAttr = require ( 'remark-attr' )
7+ var u = require ( 'unist-builder' )
78var toc = require ( '..' )
89
910var join = path . join
@@ -52,3 +53,65 @@ test('Fixtures', function(t) {
5253
5354 t . end ( )
5455} )
56+
57+ test ( 'processing nodes' , function ( t ) {
58+ var rootNode = u ( 'root' , [
59+ u ( 'heading' , { depth : 1 } , [ u ( 'text' , 'Alpha' ) ] ) ,
60+ u ( 'heading' , { depth : 2 } , [ u ( 'text' , 'Bravo' ) ] )
61+ ] )
62+
63+ var parentNode = u ( 'parent' , rootNode . children )
64+
65+ var blockquoteNode = u ( 'root' , [
66+ u ( 'heading' , { depth : 1 } , [ u ( 'text' , 'Charlie' ) ] ) ,
67+ u ( 'heading' , { depth : 2 } , [ u ( 'text' , 'Delta' ) ] ) ,
68+ u ( 'blockquote' , rootNode . children )
69+ ] )
70+
71+ const expectedRootMap = u ( 'list' , { ordered : false , spread : true } , [
72+ u ( 'listItem' , { loose : true , spread : true } , [
73+ u ( 'paragraph' , [
74+ u ( 'link' , { title : null , url : '#alpha' } , [ u ( 'text' , 'Alpha' ) ] )
75+ ] ) ,
76+ u ( 'list' , { ordered : false , spread : false } , [
77+ u ( 'listItem' , { loose : false , spread : false } , [
78+ u ( 'paragraph' , [
79+ u ( 'link' , { title : null , url : '#bravo' } , [ u ( 'text' , 'Bravo' ) ] )
80+ ] )
81+ ] )
82+ ] )
83+ ] )
84+ ] )
85+
86+ t . deepEqual (
87+ toc ( rootNode ) ,
88+ {
89+ index : null ,
90+ endIndex : null ,
91+ map : expectedRootMap
92+ } ,
93+ 'can process root nodes'
94+ )
95+
96+ t . deepEqual (
97+ toc ( parentNode ) ,
98+ {
99+ index : null ,
100+ endIndex : null ,
101+ map : expectedRootMap
102+ } ,
103+ 'can process non-root nodes'
104+ )
105+
106+ t . deepEqual (
107+ toc ( blockquoteNode , { parents : 'blockquote' } ) ,
108+ {
109+ index : null ,
110+ endIndex : null ,
111+ map : expectedRootMap
112+ } ,
113+ 'can process custom parent nodes'
114+ )
115+
116+ t . end ( )
117+ } )
0 commit comments