48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package gemini
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestExtractRedirectTargetFullURL(t *testing.T) {
|
|
t.Parallel()
|
|
currentURL, _ := ParseURL("gemini://smol.gr", "")
|
|
input := "redirect: 31 gemini://target.gr"
|
|
result, err := extractRedirectTarget(*currentURL, input)
|
|
if err != nil || (result.String() != "gemini://target.gr:1965") {
|
|
t.Errorf("fail: %s", result)
|
|
}
|
|
}
|
|
|
|
func TestExtractRedirectTargetRelativeURL(t *testing.T) {
|
|
t.Parallel()
|
|
currentURL, _ := ParseURL("gemini://smol.gr", "")
|
|
input := "redirect: 31 /a/b"
|
|
result, err := extractRedirectTarget(*currentURL, input)
|
|
if err != nil || (result.String() != "gemini://smol.gr:1965/a/b") {
|
|
t.Errorf("fail: %s", result)
|
|
}
|
|
}
|
|
|
|
func TestExtractRedirectTargetRelativeURL2(t *testing.T) {
|
|
t.Parallel()
|
|
currentURL, _ := ParseURL("gemini://nox.im:1965", "")
|
|
input := "redirect: 31 ./"
|
|
result, err := extractRedirectTarget(*currentURL, input)
|
|
if err != nil || (result.String() != "gemini://nox.im:1965/") {
|
|
t.Errorf("fail: %s", result)
|
|
}
|
|
}
|
|
|
|
func TestExtractRedirectTargetWrong(t *testing.T) {
|
|
t.Parallel()
|
|
currentURL, _ := ParseURL("gemini://smol.gr", "")
|
|
input := "redirect: 31 fsdsdf"
|
|
result, err := extractRedirectTarget(*currentURL, input)
|
|
fmt.Println(err)
|
|
if result != nil || err == nil {
|
|
t.Errorf("fail: result should be nil, err is %s", err)
|
|
}
|
|
}
|