summaryrefslogtreecommitdiff
path: root/internal/ctlsocksrv/sanitize_test.go
blob: 2462d5d165142759c27387daf6f62e3b343b3e74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package ctlsocksrv

import (
	"testing"
)

func TestSanitizePath(t *testing.T) {
	testCases := [][]string{
		{"", ""},
		{".", ""},
		{"/", ""},
		{"foo", "foo"},
		{"/foo", "foo"},
		{"foo/", "foo"},
		{"/foo/", "foo"},
		{"/foo/./foo", "foo/foo"},
		{"./", ""},
		{"..", ""},
		{"foo/../..", ""},
		{"foo/../../aaaaaa", ""},
		{"/foo/../../aaaaaa", ""},
		{"/////", ""},
	}
	for _, tc := range testCases {
		res := SanitizePath(tc[0])
		if res != tc[1] {
			t.Errorf("%q: got %q, want %q", tc[0], res, tc[1])
		}
	}
}