/* * This software is in the public domain, furnished "as is", without technical * support, and with no warranty, express or implied, as to its usefulness for * any purpose. * */ #pragma once #include #include "excludedfiles.h" using namespace OCC; #define STR_(X) #X #define STR(X) STR_(X) #define BIN_PATH STR(OWNCLOUD_BIN_PATH) class TestExcludedFiles: public QObject { Q_OBJECT private slots: void testFun() { auto & excluded = ExcludedFiles::instance(); bool excludeHidden = true; bool keepHidden = false; QVERIFY(!excluded.isExcluded("/a/b", "b", keepHidden)); QVERIFY(!excluded.isExcluded("/a/b~", "b~", keepHidden)); QVERIFY(!excluded.isExcluded("/a/.b", ".b", keepHidden)); QVERIFY(excluded.isExcluded("/a/.b", ".b", excludeHidden)); QString path(BIN_PATH); path.append("/sync-exclude.lst"); excluded.addExcludeFilePath(path); excluded.reloadExcludes(); QVERIFY(!excluded.isExcluded("/a/b", "b", keepHidden)); QVERIFY(excluded.isExcluded("/a/b~", "b~", keepHidden)); QVERIFY(!excluded.isExcluded("/a/.b", ".b", keepHidden)); QVERIFY(excluded.isExcluded("/a/.Trashes", ".Trashes", keepHidden)); QVERIFY(excluded.isExcluded("/a/foo_conflict-bar", "foo_conflict-bar", keepHidden)); QVERIFY(excluded.isExcluded("/a/.b", ".b", excludeHidden)); } };