ed6cc1859b
- CodeBlock: <pre> white-space:pre-wrap + TextEdit RichText, без ScrollView, implicitHeight contentHeight+20 — весь код виден целиком, как ввёл, не в одну строку; только иконка 📋
- MainWindow: vaultSwitcher теперь vaultManager.selectVault(modelData) перед openWindow, main.cpp connect windowOpened -> setCurrentVault — запуск с последним выбранным, а не добавленным; проверено на /Users/alex/Nextcloud/test и test-vault
- Tests: vault_select_test + mdparser parseBlocks
37 lines
1.4 KiB
C++
37 lines
1.4 KiB
C++
#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;
|
|
}
|