route/vendor/github.com/yookoala/realpath/realpath_test.go

55 lines
1.1 KiB
Go
Raw Normal View History

package realpath
import (
"testing"
)
var symlinkTests []symlinkTest
type symlinkTest struct {
path []byte
start int
link string
after string
expect []byte
}
func (t symlinkTest) expecting(result []byte) bool {
return string(result) == string(t.expect)
}
func init() {
symlinkTests = []symlinkTest{
symlinkTest{
path: []byte("/absolute/path/link/test"),
start: 14,
link: "/another/absolute/path",
after: "/test",
expect: []byte("/another/absolute/path/test"),
},
symlinkTest{
path: []byte("/absolute/path/link/test"),
start: 14,
link: "./relative/path2",
after: "/test",
expect: []byte("/absolute/path/relative/path2/test"),
},
symlinkTest{
path: []byte("/absolute/path/link/test"),
start: 14,
link: "../relative/path2",
after: "/test",
expect: []byte("/absolute/relative/path2/test"),
},
}
}
func TestSwitchSymlinkCom(t *testing.T) {
for i, tt := range symlinkTests {
if r := switchSymlinkCom(tt.path, tt.start, tt.link, tt.after); !tt.expecting(r) {
t.Errorf("Failed test %d.\nExpected: \"%s\"\nActually: \"%s\"",
i, tt.expect, r)
}
}
}