...
1 package list
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7 )
8
9 func TestList_RenderHTML(t *testing.T) {
10 lw := NewWriter()
11 lw.AppendItem(testItem1)
12 lw.Indent()
13 lw.AppendItems(testItems2)
14 lw.Indent()
15 lw.AppendItems(testItems3)
16 lw.UnIndent()
17 lw.UnIndent()
18 lw.AppendItem(testItem4)
19 lw.Indent()
20 lw.AppendItem(testItem5)
21 lw.SetHTMLCSSClass(testCSSClass)
22
23 expectedOut := `<ul class="test-css-class">
24 <li>Game Of Thrones</li>
25 <ul class="test-css-class-1">
26 <li>Winter</li>
27 <li>Is</li>
28 <li>Coming</li>
29 <ul class="test-css-class-2">
30 <li>This</li>
31 <li>Is</li>
32 <li>Known</li>
33 </ul>
34 </ul>
35 <li>The Dark Tower</li>
36 <ul class="test-css-class-1">
37 <li>The Gunslinger</li>
38 </ul>
39 </ul>`
40
41 assert.Equal(t, expectedOut, lw.RenderHTML())
42 }
43
44 func TestList_RenderHTML_Complex(t *testing.T) {
45 lw := NewWriter()
46 lw.AppendItem("The Houses of Westeros")
47 lw.Indent()
48 lw.AppendItem("The Starks of Winterfell")
49 lw.Indent()
50 lw.AppendItem("Eddard Stark")
51 lw.Indent()
52 lw.AppendItems([]interface{}{"Robb Stark", "Sansa Stark", "Arya Stark", "Bran Stark", "Rickon Stark"})
53 lw.UnIndent()
54 lw.AppendItems([]interface{}{"Lyanna Stark", "Benjen Stark"})
55 lw.UnIndent()
56 lw.AppendItem("The Targaryens of Dragonstone")
57 lw.Indent()
58 lw.AppendItem("Aerys Targaryen")
59 lw.Indent()
60 lw.AppendItems([]interface{}{"Rhaegar Targaryen", "Viserys Targaryen", "Daenerys Targaryen"})
61 lw.UnIndent()
62 lw.UnIndent()
63 lw.AppendItem("The Lannisters of Lannisport")
64 lw.Indent()
65 lw.AppendItem("Tywin Lannister")
66 lw.Indent()
67 lw.AppendItems([]interface{}{"Cersei Lannister", "Jaime Lannister", "Tyrion Lannister"})
68
69 expectedOut := `<ul class="go-pretty-table">
70 <li>The Houses of Westeros</li>
71 <ul class="go-pretty-table-1">
72 <li>The Starks of Winterfell</li>
73 <ul class="go-pretty-table-2">
74 <li>Eddard Stark</li>
75 <ul class="go-pretty-table-3">
76 <li>Robb Stark</li>
77 <li>Sansa Stark</li>
78 <li>Arya Stark</li>
79 <li>Bran Stark</li>
80 <li>Rickon Stark</li>
81 </ul>
82 <li>Lyanna Stark</li>
83 <li>Benjen Stark</li>
84 </ul>
85 <li>The Targaryens of Dragonstone</li>
86 <ul class="go-pretty-table-2">
87 <li>Aerys Targaryen</li>
88 <ul class="go-pretty-table-3">
89 <li>Rhaegar Targaryen</li>
90 <li>Viserys Targaryen</li>
91 <li>Daenerys Targaryen</li>
92 </ul>
93 </ul>
94 <li>The Lannisters of Lannisport</li>
95 <ul class="go-pretty-table-2">
96 <li>Tywin Lannister</li>
97 <ul class="go-pretty-table-3">
98 <li>Cersei Lannister</li>
99 <li>Jaime Lannister</li>
100 <li>Tyrion Lannister</li>
101 </ul>
102 </ul>
103 </ul>
104 </ul>`
105
106 assert.Equal(t, expectedOut, lw.RenderHTML())
107 }
108
View as plain text