test: compare flipCase results with OS-native separators

The expectations were written with forward slashes, but flipCase builds a
path to stat and so separates it the way the running system does.
This commit is contained in:
Henrique Dias
2026-09-04 14:36:46 +02:00
parent 3ded167a52
commit 04c863aefc
+15 -8
View File
@@ -1,6 +1,7 @@
package lib package lib
import ( import (
"path/filepath"
"regexp" "regexp"
"testing" "testing"
@@ -69,22 +70,28 @@ func TestParentCollection(t *testing.T) {
func TestFlipCase(t *testing.T) { func TestFlipCase(t *testing.T) {
t.Parallel() t.Parallel()
alt, ok := flipCase("/srv/dav") // flipCase builds a path to stat, so it is separated the way the running
require.True(t, ok) // system separates paths, not the way request paths are.
require.Equal(t, "/srv/Dav", alt) srv := func(name string) string {
return filepath.Join("/srv", name)
}
alt, ok = flipCase("/srv/DAV") alt, ok := flipCase(srv("dav"))
require.True(t, ok) require.True(t, ok)
require.Equal(t, "/srv/dAV", alt) require.Equal(t, srv("Dav"), alt)
alt, ok = flipCase(srv("DAV"))
require.True(t, ok)
require.Equal(t, srv("dAV"), alt)
// Only the first letter flips, so a name whose case mapping does not // Only the first letter flips, so a name whose case mapping does not
// round-trip is left alone rather than changed by more than its case. // round-trip is left alone rather than changed by more than its case.
alt, ok = flipCase("/srv/ıstanbul") alt, ok = flipCase(srv("ıstanbul"))
require.True(t, ok) require.True(t, ok)
require.Equal(t, "/srv/ıStanbul", alt) require.Equal(t, srv("ıStanbul"), alt)
// Nothing to flip. // Nothing to flip.
_, ok = flipCase("/srv/001") _, ok = flipCase(srv("001"))
require.False(t, ok) require.False(t, ok)
} }