mirror of
https://github.com/hacdias/webdav.git
synced 2026-09-22 03:20:41 +08:00
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:
+15
-8
@@ -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)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user