package list
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestList_RenderHTML(t *testing.T) {
lw := NewWriter()
lw.AppendItem(testItem1)
lw.Indent()
lw.AppendItems(testItems2)
lw.Indent()
lw.AppendItems(testItems3)
lw.UnIndent()
lw.UnIndent()
lw.AppendItem(testItem4)
lw.Indent()
lw.AppendItem(testItem5)
lw.SetHTMLCSSClass(testCSSClass)
expectedOut := `
- Game Of Thrones
- The Dark Tower
`
assert.Equal(t, expectedOut, lw.RenderHTML())
}
func TestList_RenderHTML_Complex(t *testing.T) {
lw := NewWriter()
lw.AppendItem("The Houses of Westeros")
lw.Indent()
lw.AppendItem("The Starks of Winterfell")
lw.Indent()
lw.AppendItem("Eddard Stark")
lw.Indent()
lw.AppendItems([]interface{}{"Robb Stark", "Sansa Stark", "Arya Stark", "Bran Stark", "Rickon Stark"})
lw.UnIndent()
lw.AppendItems([]interface{}{"Lyanna Stark", "Benjen Stark"})
lw.UnIndent()
lw.AppendItem("The Targaryens of Dragonstone")
lw.Indent()
lw.AppendItem("Aerys Targaryen")
lw.Indent()
lw.AppendItems([]interface{}{"Rhaegar Targaryen", "Viserys Targaryen", "Daenerys Targaryen"})
lw.UnIndent()
lw.UnIndent()
lw.AppendItem("The Lannisters of Lannisport")
lw.Indent()
lw.AppendItem("Tywin Lannister")
lw.Indent()
lw.AppendItems([]interface{}{"Cersei Lannister", "Jaime Lannister", "Tyrion Lannister"})
expectedOut := `
- The Houses of Westeros
- The Starks of Winterfell
- Eddard Stark
- Robb Stark
- Sansa Stark
- Arya Stark
- Bran Stark
- Rickon Stark
- Lyanna Stark
- Benjen Stark
- The Targaryens of Dragonstone
- Aerys Targaryen
- Rhaegar Targaryen
- Viserys Targaryen
- Daenerys Targaryen
- The Lannisters of Lannisport
- Tywin Lannister
- Cersei Lannister
- Jaime Lannister
- Tyrion Lannister
`
assert.Equal(t, expectedOut, lw.RenderHTML())
}