2022-06-08 23:46:39 +02:00
// Copyright 2022 The Gitea Authors. All rights reserved.
2022-11-27 19:20:29 +01:00
// SPDX-License-Identifier: MIT
2022-06-08 23:46:39 +02:00
package console
import (
"strings"
"testing"
2023-03-05 22:59:05 +01:00
"code.gitea.io/gitea/modules/git"
2022-06-08 23:46:39 +02:00
"code.gitea.io/gitea/modules/markup"
"github.com/stretchr/testify/assert"
2024-07-30 21:41:10 +02:00
"github.com/stretchr/testify/require"
2022-06-08 23:46:39 +02:00
)
func TestRenderConsole ( t * testing . T ) {
var render Renderer
kases := map [ string ] string {
"\x1b[37m\x1b[40mnpm\x1b[0m \x1b[0m\x1b[32minfo\x1b[0m \x1b[0m\x1b[35mit worked if it ends with\x1b[0m ok" : "<span class=\"term-fg37 term-bg40\">npm</span> <span class=\"term-fg32\">info</span> <span class=\"term-fg35\">it worked if it ends with</span> ok" ,
}
for k , v := range kases {
var buf strings . Builder
canRender := render . CanRender ( "test" , strings . NewReader ( k ) )
assert . True ( t , canRender )
2023-03-05 22:59:05 +01:00
err := render . Render ( & markup . RenderContext { Ctx : git . DefaultContext } ,
strings . NewReader ( k ) , & buf )
2024-07-30 21:41:10 +02:00
require . NoError ( t , err )
2022-06-08 23:46:39 +02:00
assert . EqualValues ( t , v , buf . String ( ) )
}
}