Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/csync/csync_tests/check_csync_exclude.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/test/csync/csync_tests/check_csync_exclude.cpp b/test/csync/csync_tests/check_csync_exclude.cpp
index 9329ca6de..c8e3a48ad 100644
--- a/test/csync/csync_tests/check_csync_exclude.cpp
+++ b/test/csync/csync_tests/check_csync_exclude.cpp
@@ -113,12 +113,12 @@ static void check_csync_exclude_add(void **)
excludedFiles->prepare();
assert_true(excludedFiles->_nonRegexExcludes.contains("/tmp/check_csync1/*"));
- assert_false(excludedFiles->_regex.pattern().contains("csync1"));
+ assert_false(excludedFiles->_bnameRegexFileDir.pattern().contains("csync1"));
excludedFiles->addManualExclude("foo");
excludedFiles->prepare();
assert_true(excludedFiles->_nonRegexExcludes.size() == 1);
- assert_true(excludedFiles->_regex.pattern().contains("foo"));
+ assert_true(excludedFiles->_bnameRegexFileDir.pattern().contains("foo"));
}
static void check_csync_excluded(void **)
@@ -356,6 +356,32 @@ static void check_csync_excluded_traversal(void **)
assert_int_equal(check_file_traversal("a * ?"), CSYNC_FILE_EXCLUDE_LIST);
}
+static void check_csync_dir_only(void **)
+{
+ excludedFiles->addManualExclude("filedir");
+ excludedFiles->addManualExclude("dir/");
+ excludedFiles->prepare();
+
+ assert_int_equal(check_file_traversal("other"), CSYNC_NOT_EXCLUDED);
+ assert_int_equal(check_file_traversal("filedir"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_file_traversal("dir"), CSYNC_NOT_EXCLUDED);
+ assert_int_equal(check_file_traversal("s/other"), CSYNC_NOT_EXCLUDED);
+ assert_int_equal(check_file_traversal("s/filedir"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_file_traversal("s/dir"), CSYNC_NOT_EXCLUDED);
+
+ assert_int_equal(check_dir_traversal("other"), CSYNC_NOT_EXCLUDED);
+ assert_int_equal(check_dir_traversal("filedir"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_dir_traversal("dir"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_dir_traversal("s/other"), CSYNC_NOT_EXCLUDED);
+ assert_int_equal(check_dir_traversal("s/filedir"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_dir_traversal("s/dir"), CSYNC_FILE_EXCLUDE_LIST);
+
+ assert_int_equal(check_dir_full("filedir/foo"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_file_full("filedir/foo"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_dir_full("dir/foo"), CSYNC_FILE_EXCLUDE_LIST);
+ assert_int_equal(check_file_full("dir/foo"), CSYNC_FILE_EXCLUDE_LIST);
+}
+
static void check_csync_pathes(void **)
{
excludedFiles->addManualExclude("/exclude");
@@ -495,6 +521,7 @@ int torture_run_tests(void)
cmocka_unit_test_setup_teardown(check_csync_exclude_add, setup, teardown),
cmocka_unit_test_setup_teardown(check_csync_excluded, setup_init, teardown),
cmocka_unit_test_setup_teardown(check_csync_excluded_traversal, setup_init, teardown),
+ cmocka_unit_test_setup_teardown(check_csync_dir_only, setup_init, teardown),
cmocka_unit_test_setup_teardown(check_csync_pathes, setup_init, teardown),
cmocka_unit_test_setup_teardown(check_csync_is_windows_reserved_word, setup_init, teardown),
cmocka_unit_test_setup_teardown(check_csync_excluded_performance, setup_init, teardown),