diff options
Diffstat (limited to 'internal/ctlsocksrv/sanitize_test.go')
-rw-r--r-- | internal/ctlsocksrv/sanitize_test.go | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/internal/ctlsocksrv/sanitize_test.go b/internal/ctlsocksrv/sanitize_test.go new file mode 100644 index 0000000..2462d5d --- /dev/null +++ b/internal/ctlsocksrv/sanitize_test.go @@ -0,0 +1,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]) + } + } +} |