#include #include #include #include #include #include "core/SettingsStore.h" #include "app/VaultManager.h" #include "git/GitManager.h" int main(int argc, char *argv[]){ QCoreApplication app(argc, argv); app.setOrganizationName("TestVault"); app.setApplicationName("test"); QTemporaryDir dir; if(!dir.isValid()) return 1; QSettings::setPath(QSettings::IniFormat, QSettings::UserScope, dir.path()); QSettings::setDefaultFormat(QSettings::IniFormat); SettingsStore s; GitManager g; VaultManager vm(&s, &g); QString v1 = dir.path() + "/vault1"; QString v2 = dir.path() + "/vault2"; if(!vm.createVault(v1).isEmpty()) return 1; if(s.currentVault() != QDir::cleanPath(v1)) { std::fprintf(stderr,"FAIL v1 current %s\n", qPrintable(s.currentVault())); return 1; } if(!vm.createVault(v2).isEmpty()) return 1; if(s.currentVault() != QDir::cleanPath(v2)) return 1; s.setCurrentVault(v1); if(s.currentVault() != QDir::cleanPath(v1)) return 1; { SettingsStore s2; if(s2.currentVault() != QDir::cleanPath(v1)) { std::fprintf(stderr,"FAIL restart current %s\n", qPrintable(s2.currentVault())); return 1; } if(s2.vaults().size()!=2) return 1; if(s2.vaults()[0] != QDir::cleanPath(v2)) return 1; } std::printf("VAULT SELECT TEST OK\n"); return 0; }