aboutsummaryrefslogtreecommitdiff
path: root/weed/s3api/s3api_object_handlers_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/s3api/s3api_object_handlers_test.go')
-rw-r--r--weed/s3api/s3api_object_handlers_test.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/weed/s3api/s3api_object_handlers_test.go b/weed/s3api/s3api_object_handlers_test.go
new file mode 100644
index 000000000..d1043451d
--- /dev/null
+++ b/weed/s3api/s3api_object_handlers_test.go
@@ -0,0 +1,48 @@
+package s3api
+
+import (
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+)
+
+func TestRemoveDuplicateSlashes(t *testing.T) {
+ tests := []struct {
+ name string
+ path string
+ expectedResult string
+ }{
+ {
+ name: "empty",
+ path: "",
+ expectedResult: "",
+ },
+ {
+ name: "slash",
+ path: "/",
+ expectedResult: "/",
+ },
+ {
+ name: "object",
+ path: "object",
+ expectedResult: "object",
+ },
+ {
+ name: "correct path",
+ path: "/path/to/object",
+ expectedResult: "/path/to/object",
+ },
+ {
+ name: "path with duplicates",
+ path: "///path//to/object//",
+ expectedResult: "/path/to/object/",
+ },
+ }
+
+ for _, tst := range tests {
+ t.Run(tst.name, func(t *testing.T) {
+ obj := removeDuplicateSlashes(tst.path)
+ assert.Equal(t, tst.expectedResult, obj)
+ })
+ }
+}