Initial commit
This commit is contained in:
67
furcadia/util_test.go
Normal file
67
furcadia/util_test.go
Normal file
@@ -0,0 +1,67 @@
|
||||
package furcadia
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestGetShortName(t *testing.T) {
|
||||
check := func(displayName, expectedShortname string) {
|
||||
short := GetShortName(displayName)
|
||||
if short != expectedShortname {
|
||||
t.Errorf("GetShortName('%v') -> '%v' (expected: '%v')", displayName, short, expectedShortname)
|
||||
}
|
||||
}
|
||||
|
||||
check("ArTeX", "artex")
|
||||
check("Ice|Dragon", "icedragon")
|
||||
check("123_arte_X", "123artex")
|
||||
check("|~!@#$%^&*()_+<>[]{}:;'\",./?artex ", "artex")
|
||||
}
|
||||
|
||||
func TestGetShortDreamURL(t *testing.T) {
|
||||
check := func(dreamURL, expectedShortURL string) {
|
||||
short, err := GetShortDreamURL(dreamURL)
|
||||
if err != nil {
|
||||
t.Errorf("GetShortDreamURL('%v') -> unexpected error %T (%v)", dreamURL, err, err)
|
||||
}
|
||||
if short != expectedShortURL {
|
||||
t.Errorf("GetShortDreamURL('%v') -> '%v' (expected: '%v')", dreamURL, short, expectedShortURL)
|
||||
}
|
||||
}
|
||||
|
||||
check("furc://ice_dragon:some-dream-name/128", "icedragon:somedreamname")
|
||||
check("furc://artex", "artex")
|
||||
check("furc://artex:", "artex")
|
||||
check("furc://artex/128", "artex")
|
||||
check("furc://name:", "name")
|
||||
|
||||
checkErr := func(dreamURL string, expectedErr error) {
|
||||
_, err := GetShortDreamURL(dreamURL)
|
||||
if !errors.Is(err, expectedErr) {
|
||||
t.Errorf("GetShortDreamURL('%v') -> unexpected error %T (%v)", dreamURL, err, err)
|
||||
}
|
||||
}
|
||||
|
||||
checkErr("furc://", ErrInvalidDreamURL)
|
||||
checkErr("furc:///", ErrInvalidDreamURL)
|
||||
checkErr("furc://:", ErrInvalidDreamURL)
|
||||
checkErr("furc://:/", ErrInvalidDreamURL)
|
||||
checkErr("furc://:nouploader", ErrInvalidDreamURL)
|
||||
checkErr("furc://:nouploader/", ErrInvalidDreamURL)
|
||||
checkErr("furc://artex::", ErrInvalidDreamURL)
|
||||
}
|
||||
|
||||
func TestGetShortDreamURLFromName(t *testing.T) {
|
||||
check := func(uploader, name, expected string) {
|
||||
short := GetShortDreamURLFromName(uploader, name)
|
||||
if short != expected {
|
||||
t.Errorf("GetShortDreamURLFromName('%v', '%v') -> '%v' (expected: '%v')", uploader, name, short, expected)
|
||||
}
|
||||
}
|
||||
|
||||
check("Ice Dragon", "", "icedragon")
|
||||
check("Ice Dragon", "Some name here", "icedragon:somenamehere")
|
||||
check("icedragon", "some_name_here", "icedragon:somenamehere")
|
||||
check("", "Illegal but possible", ":illegalbutpossible")
|
||||
}
|
||||
Reference in New Issue
Block a user