code.gitea.io/gitea@v1.22.3/modules/markup/csv/csv_test.go (about)

     1  // Copyright 2018 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package markup
     5  
     6  import (
     7  	"bufio"
     8  	"bytes"
     9  	"strings"
    10  	"testing"
    11  
    12  	"code.gitea.io/gitea/modules/git"
    13  	"code.gitea.io/gitea/modules/markup"
    14  
    15  	"github.com/stretchr/testify/assert"
    16  )
    17  
    18  func TestRenderCSV(t *testing.T) {
    19  	var render Renderer
    20  	kases := map[string]string{
    21  		"a":        "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>a</th></tr></table>",
    22  		"1,2":      "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>1</th><th>2</th></tr></table>",
    23  		"1;2\n3;4": "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>1</th><th>2</th></tr><tr><td class=\"line-num\">2</td><td>3</td><td>4</td></tr></table>",
    24  		"<br/>":    "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>&lt;br/&gt;</th></tr></table>",
    25  	}
    26  
    27  	for k, v := range kases {
    28  		var buf strings.Builder
    29  		err := render.Render(&markup.RenderContext{Ctx: git.DefaultContext},
    30  			strings.NewReader(k), &buf)
    31  		assert.NoError(t, err)
    32  		assert.EqualValues(t, v, buf.String())
    33  	}
    34  
    35  	t.Run("fallbackRender", func(t *testing.T) {
    36  		var buf bytes.Buffer
    37  		err := render.fallbackRender(strings.NewReader("1,<a>\n2,<b>"), bufio.NewWriter(&buf))
    38  		assert.NoError(t, err)
    39  		want := "<pre>1,&lt;a&gt;\n2,&lt;b&gt;</pre>"
    40  		assert.Equal(t, want, buf.String())
    41  	})
    42  }