Files
rclone/cmd/listremotes/listremotes_test.go
2026-04-24 16:23:12 +01:00

54 lines
1.4 KiB
Go

package ls
import (
"testing"
"github.com/rclone/rclone/fs/config"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func resetFilterFlags() {
filterName = ""
filterType = ""
filterSource = ""
filterDescription = ""
}
func TestTypeFilterDefaultIsFuzzy(t *testing.T) {
resetFilterFlags()
filterType = "box"
t.Cleanup(resetFilterFlags)
filters, err := compileFilters("", false)
require.NoError(t, err)
assert.True(t, includeRemote(config.Remote{Type: "box"}, filters))
assert.True(t, includeRemote(config.Remote{Type: "dropbox"}, filters))
}
func TestTypeFilterExactMatchesWholeValue(t *testing.T) {
resetFilterFlags()
filterType = "box"
t.Cleanup(resetFilterFlags)
filters, err := compileFilters("", true)
require.NoError(t, err)
assert.True(t, includeRemote(config.Remote{Type: "box"}, filters))
assert.True(t, includeRemote(config.Remote{Type: "BoX"}, filters))
assert.False(t, includeRemote(config.Remote{Type: "dropbox"}, filters))
}
func TestPositionalFilterExactAlsoMatchesWholeValue(t *testing.T) {
resetFilterFlags()
t.Cleanup(resetFilterFlags)
filters, err := compileFilters("box", true)
require.NoError(t, err)
assert.True(t, includeRemote(config.Remote{Type: "box"}, filters))
assert.False(t, includeRemote(config.Remote{Name: "mybox"}, filters))
assert.False(t, includeRemote(config.Remote{Description: "my dropbox remote"}, filters))
}