2017-12-07 14:00:09 +07:00
// Copyright 2017 The Gitea Authors. All rights reserved.
2022-11-27 13:20:29 -05:00
// SPDX-License-Identifier: MIT
2017-12-07 14:00:09 +07:00
package utils
import (
"testing"
2020-08-11 21:05:34 +01:00
"code.gitea.io/gitea/modules/setting"
2021-11-17 20:34:35 +08:00
2017-12-07 14:00:09 +07:00
"github.com/stretchr/testify/assert"
)
2020-08-11 21:05:34 +01:00
func TestIsExternalURL ( t * testing . T ) {
2021-02-19 21:36:43 +00:00
setting . AppURL = "https://try.gitea.io/"
2020-08-11 21:05:34 +01:00
type test struct {
Expected bool
RawURL string
}
newTest := func ( expected bool , rawURL string ) test {
return test { Expected : expected , RawURL : rawURL }
}
for _ , test := range [ ] test {
newTest ( false ,
"https://try.gitea.io" ) ,
newTest ( true ,
"https://example.com/" ) ,
newTest ( true ,
"//example.com" ) ,
newTest ( true ,
"http://example.com" ) ,
newTest ( false ,
"a/" ) ,
newTest ( false ,
"https://try.gitea.io/test?param=false" ) ,
newTest ( false ,
"test?param=false" ) ,
newTest ( false ,
"//try.gitea.io/test?param=false" ) ,
newTest ( false ,
"/hey/hey/hey#3244" ) ,
2021-06-29 23:00:02 +02:00
newTest ( true ,
"://missing protocol scheme" ) ,
2020-08-11 21:05:34 +01:00
} {
assert . Equal ( t , test . Expected , IsExternalURL ( test . RawURL ) )
}
}
2021-06-29 23:00:02 +02:00
func TestSanitizeFlashErrorString ( t * testing . T ) {
tests := [ ] struct {
name string
arg string
want string
} {
{
name : "no error" ,
arg : "" ,
want : "" ,
} ,
{
name : "normal error" ,
arg : "can not open file: \"abc.exe\"" ,
want : "can not open file: "abc.exe"" ,
} ,
{
name : "line break error" ,
arg : "some error:\n\nawesome!" ,
want : "some error:<br><br>awesome!" ,
} ,
}
for _ , tt := range tests {
t . Run ( tt . name , func ( t * testing . T ) {
if got := SanitizeFlashErrorString ( tt . arg ) ; got != tt . want {
t . Errorf ( "SanitizeFlashErrorString() = '%v', want '%v'" , got , tt . want )
}
} )
}
}