Files
Flora/tests/vault_select_test.cpp
grendervill 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
2026-09-02 00:18:02 +03:00

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;
}