hugo/hugolib/page_toc_test.go
Niels Widger f62e3e9940 Add new TableOfContents Page variable (Markdown only)
Added TableOfContents field to hugolib.Page struct.  New function
getTableOfContents is used in convertMarkdown to set the TableOfContents
field.

Added new test file hugolib/page_toc_test.go with a simple test of the
new functionality.

Conflicts:
	hugolib/page.go
2014-01-23 17:27:08 -05:00

52 lines
669 B
Go

package hugolib
import (
"testing"
)
func TestTableOfContents(t *testing.T) {
text := `
Blah blah blah blah blah.
## AA
Blah blah blah blah blah.
### AAA
Blah blah blah blah blah.
## BB
Blah blah blah blah blah.
### BBB
Blah blah blah blah blah.
`
markdown := RemoveSummaryDivider([]byte(text))
toc := string(getTableOfContents(markdown))
expected := `<nav>
<ul>
<li>
<ul>
<li><a href="#toc_0">AA</a>
<ul>
<li><a href="#toc_1">AAA</a></li>
</ul></li>
<li><a href="#toc_2">BB</a>
<ul>
<li><a href="#toc_3">BBB</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
`
if toc != expected {
t.Errorf("Expected table of contents: %s, got: %s", expected, toc)
}
}