MCPcopy
hub / github.com/rclone/rclone / compareNames

Function compareNames

fs/sync/sync_transform_test.go:180–214  ·  view source on GitHub ↗
(ctx context.Context, t *testing.T, r *fstest.Run, items []fstest.Item)

Source from the content-addressed store, hash-verified

178}
179
180func compareNames(ctx context.Context, t *testing.T, r *fstest.Run, items []fstest.Item) {
181 var entries fs.DirEntries
182
183 deleteDSStore(t, r)
184 err := walk.ListR(context.Background(), r.Fremote, "", true, -1, walk.ListObjects, func(e fs.DirEntries) error {
185 entries = append(entries, e...)
186 return nil
187 })
188 assert.NoError(t, err)
189 entries = slices.DeleteFunc(entries, func(E fs.DirEntry) bool { // remove those pesky .DS_Store files
190 if strings.Contains(E.Remote(), ".DS_Store") {
191 err := operations.DeleteFile(context.Background(), E.(fs.Object))
192 assert.NoError(t, err)
193 return true
194 }
195 return false
196 })
197 require.Equal(t, len(items), entries.Len())
198
199 // sort by CONVERTED name
200 slices.SortStableFunc(items, func(a, b fstest.Item) int {
201 aConv := transform.Path(ctx, a.Path, false)
202 bConv := transform.Path(ctx, b.Path, false)
203 return cmp.Compare(aConv, bConv)
204 })
205 slices.SortStableFunc(entries, func(a, b fs.DirEntry) int {
206 return cmp.Compare(a.Remote(), b.Remote())
207 })
208
209 for i, e := range entries {
210 expect := transform.Path(ctx, items[i].Path, false)
211 msg := fmt.Sprintf("expected %v, got %v", detectEncoding(expect), detectEncoding(e.Remote()))
212 assert.Equal(t, expect, e.Remote(), msg)
213 }
214}
215
216func detectEncoding(s string) string {
217 if norm.NFC.IsNormalString(s) && norm.NFD.IsNormalString(s) {

Callers 1

TestTransformFunction · 0.70

Calls 9

LenMethod · 0.95
ListRFunction · 0.92
DeleteFileFunction · 0.92
PathFunction · 0.92
ContainsMethod · 0.80
deleteDSStoreFunction · 0.70
detectEncodingFunction · 0.70
RemoteMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…