forked from sloum/bombadillo
75 lines
1.3 KiB
Go
75 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"reflect"
|
|
"testing"
|
|
)
|
|
|
|
func Test_WrapContent_Wrapped_Line_Length(t *testing.T) {
|
|
type fields struct {
|
|
WrappedContent []string
|
|
RawContent string
|
|
Links []string
|
|
Location Url
|
|
ScrollPosition int
|
|
FoundLinkLines []int
|
|
SearchTerm string
|
|
SearchIndex int
|
|
FileType string
|
|
WrapWidth int
|
|
Color bool
|
|
}
|
|
type args struct {
|
|
width int
|
|
color bool
|
|
}
|
|
|
|
// create a Url for use by the MakePage function
|
|
url, _ := MakeUrl("gemini://rawtext.club")
|
|
|
|
tests := []struct {
|
|
name string
|
|
input string
|
|
expects []string
|
|
args args
|
|
}{
|
|
{
|
|
"Short line that doesn't wrap",
|
|
"0123456789\n",
|
|
[]string{
|
|
"0123456789",
|
|
"",
|
|
},
|
|
args{
|
|
10,
|
|
false,
|
|
},
|
|
},
|
|
{
|
|
"Long line wrapped to 10 columns",
|
|
"0123456789 123456789 123456789 123456789 123456789\n",
|
|
[]string{
|
|
"0123456789",
|
|
" 123456789",
|
|
" 123456789",
|
|
" 123456789",
|
|
" 123456789",
|
|
"",
|
|
},
|
|
args{
|
|
10,
|
|
false,
|
|
},
|
|
},
|
|
}
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
p := MakePage(url, tt.input, []string{""})
|
|
p.WrapContent(tt.args.width-1, tt.args.color)
|
|
if !reflect.DeepEqual(p.WrappedContent, tt.expects) {
|
|
t.Errorf("Test failed - %s\nexpects %s\nactual %s", tt.name, tt.expects, p.WrappedContent)
|
|
}
|
|
})
|
|
}
|
|
}
|