...

Source file src/github.com/jedib0t/go-pretty/v6/list/render_html_test.go

Documentation: github.com/jedib0t/go-pretty/v6/list

     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