aboutsummaryrefslogtreecommitdiff
path: root/weed/util/file_util_test.go
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2023-09-27 17:40:51 +0500
committerGitHub <noreply@github.com>2023-09-27 05:40:51 -0700
commit44906f1f3b91b9def7e1424fec18a3237b1a02f0 (patch)
treeb01123aa276e62193e2a6fc704d78c776dd369e2 /weed/util/file_util_test.go
parent9d589b48e6b59cf60df4e0c00fdc69edb62a216a (diff)
downloadseaweedfs-44906f1f3b91b9def7e1424fec18a3237b1a02f0.tar.xz
seaweedfs-44906f1f3b91b9def7e1424fec18a3237b1a02f0.zip
fix: avoid error file name too long when writing a file (#4876)
Diffstat (limited to 'weed/util/file_util_test.go')
-rw-r--r--weed/util/file_util_test.go22
1 files changed, 22 insertions, 0 deletions
diff --git a/weed/util/file_util_test.go b/weed/util/file_util_test.go
new file mode 100644
index 000000000..a1f924fed
--- /dev/null
+++ b/weed/util/file_util_test.go
@@ -0,0 +1,22 @@
+package util
+
+import (
+ "testing"
+)
+
+func TestToShortFileName(t *testing.T) {
+ tests := []struct {
+ in string
+ value string
+ }{
+ {"/data/a/b/c/d.txt", "/data/a/b/c/d.txt"},
+ {"/data/a/b/c/очень_длинное_имя_файла_c_подробным_указанием_наименования_и_содержания_стандартизованных_форм_за_анварь_-_июнь_2023_года(РОГА_И_КОПЫТА_ООО).txt", "/data/a/b/c/очень_длинное_имя_файла_c_подробным_указанием_наименования_и_содержания_стандартизованных_форм_за_анварь_-_июнь_2023_года(РОГА_И_КОПЫТ354fcaf4.txt"},
+ {"/data/a/b/c/очень_длинное_имя_файла_c_подробным_указанием_наименования_и_содержания_стандартизованных_форм_за_анварь_-_июнь_2023_года(РОГА_И_КОПЫТА_ООО)_without_extension", "/data/a/b/c/очень_длинное_имя_файла_c_подробным_указанием_наименования_и_содержания_стандартизованных_форм_за_анварь_-_июнь_2023_года(РОГА_И_КОПЫТА_О21a6e47a"},
+ }
+ for _, p := range tests {
+ got := ToShortFileName(p.in)
+ if got != p.value {
+ t.Errorf("failed to test: got %v, want %v", got, p.value)
+ }
+ }
+}