Files

37 lines
1.4 KiB
C++
Raw Permalink Normal View History

#include <QCoreApplication>
#include <QTemporaryDir>
#include <QSettings>
#include <QDir>
#include <cstdio>
#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;
}