2018-07-20 17:08:15 -04:00
|
|
|
// Copyright 2018 The Gitea Authors. All rights reserved.
|
2022-11-27 13:20:29 -05:00
|
|
|
// SPDX-License-Identifier: MIT
|
2018-07-20 17:08:15 -04:00
|
|
|
|
|
|
|
package markup
|
|
|
|
|
|
|
|
import (
|
2024-03-13 22:51:55 -04:00
|
|
|
"bufio"
|
|
|
|
"bytes"
|
2021-04-19 18:25:08 -04:00
|
|
|
"strings"
|
2018-07-20 17:08:15 -04:00
|
|
|
"testing"
|
|
|
|
|
2023-03-05 16:59:05 -05:00
|
|
|
"code.gitea.io/gitea/modules/git"
|
2021-04-19 18:25:08 -04:00
|
|
|
"code.gitea.io/gitea/modules/markup"
|
|
|
|
|
2018-07-20 17:08:15 -04:00
|
|
|
"github.com/stretchr/testify/assert"
|
2024-07-30 15:42:06 -04:00
|
|
|
"github.com/stretchr/testify/require"
|
2018-07-20 17:08:15 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestRenderCSV(t *testing.T) {
|
2021-04-19 18:25:08 -04:00
|
|
|
var render Renderer
|
2022-01-20 12:46:10 -05:00
|
|
|
kases := map[string]string{
|
2021-03-29 16:44:28 -04:00
|
|
|
"a": "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>a</th></tr></table>",
|
|
|
|
"1,2": "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th>1</th><th>2</th></tr></table>",
|
|
|
|
"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>",
|
|
|
|
"<br/>": "<table class=\"data-table\"><tr><th class=\"line-num\">1</th><th><br/></th></tr></table>",
|
2018-07-20 17:08:15 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
for k, v := range kases {
|
2021-04-19 18:25:08 -04:00
|
|
|
var buf strings.Builder
|
2023-03-05 16:59:05 -05:00
|
|
|
err := render.Render(&markup.RenderContext{Ctx: git.DefaultContext},
|
|
|
|
strings.NewReader(k), &buf)
|
2024-07-30 15:42:06 -04:00
|
|
|
require.NoError(t, err)
|
2021-04-19 18:25:08 -04:00
|
|
|
assert.EqualValues(t, v, buf.String())
|
2018-07-20 17:08:15 -04:00
|
|
|
}
|
2024-03-13 22:51:55 -04:00
|
|
|
|
|
|
|
t.Run("fallbackRender", func(t *testing.T) {
|
|
|
|
var buf bytes.Buffer
|
|
|
|
err := render.fallbackRender(strings.NewReader("1,<a>\n2,<b>"), bufio.NewWriter(&buf))
|
2024-07-30 15:42:06 -04:00
|
|
|
require.NoError(t, err)
|
2024-03-13 22:51:55 -04:00
|
|
|
want := "<pre>1,<a>\n2,<b></pre>"
|
|
|
|
assert.Equal(t, want, buf.String())
|
|
|
|
})
|
2018-07-20 17:08:15 -04:00
|
|
|
}
|