v30.3-roots.1 · Commit 5: [PATCH 05/68] feat(qt): preserve Roots identity and GUI support on Core 30.3
src/qt/test/optiontests.cpp
Before: src/qt/test/optiontests.cpp · After: src/qt/test/optiontests.cpp
File metadata
index f8a1da84121d2a2825aa4a2097f5dfd229b46c82..de701edc144906aa7b7df2cab8892cb53ff5bb02 100644
Download original patch · Release notes
Diff rows 1–37 of 37. Line numbers refer to the original before/after files.
+ Added− RemovedUnmarked lines are context.
Scroll the code area horizontally to read long lines. Before is on the left; after is on the right. Unified view fits narrow screens more easily.
src/qt/test/optiontests.cpp
CHANGED
|
@@ -7,11 +7,14 @@
|
|
| 7 |
#include <common/args.h>
|
| 8 |
#include <init.h>
|
| 9 |
#include <qt/bitcoin.h>
|
|
|
|
| 10 |
#include <qt/guiutil.h>
|
| 11 |
#include <qt/test/optiontests.h>
|
| 12 |
#include <test/util/setup_common.h>
|
| 13 |
|
|
|
|
| 14 |
#include <QSettings>
|
|
|
|
| 15 |
#include <QTest>
|
| 16 |
|
| 17 |
#include <univalue.h>
|
|
@@ -146,3 +149,23 @@ void OptionTests::extractFilter()
|
|
| 146 |
filter = QString("Image (*.png *.jpg)");
|
| 147 |
QCOMPARE(GUIUtil::ExtractFirstSuffixFromFilter(filter), "png");
|
| 148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
#include <common/args.h>
|
| 8 |
#include <init.h>
|
| 9 |
#include <qt/bitcoin.h>
|
| 10 |
+
#include <qt/bitcoinunits.h>
|
| 11 |
#include <qt/guiutil.h>
|
| 12 |
#include <qt/test/optiontests.h>
|
| 13 |
#include <test/util/setup_common.h>
|
| 14 |
|
| 15 |
+
#include <QFile>
|
| 16 |
#include <QSettings>
|
| 17 |
+
#include <QTemporaryDir>
|
| 18 |
#include <QTest>
|
| 19 |
|
| 20 |
#include <univalue.h>
|
|
|
|
| 149 |
filter = QString("Image (*.png *.jpg)");
|
| 150 |
QCOMPARE(GUIUtil::ExtractFirstSuffixFromFilter(filter), "png");
|
| 151 |
}
|
| 152 |
+
|
| 153 |
+
void OptionTests::displayUnitPersistence()
|
| 154 |
+
{
|
| 155 |
+
OptionsModel options{m_node};
|
| 156 |
+
QTemporaryDir settings_dir;
|
| 157 |
+
QVERIFY(settings_dir.isValid());
|
| 158 |
+
QSettings output{settings_dir.filePath("units.ini"), QSettings::IniFormat};
|
| 159 |
+
for (const BitcoinUnit unit : BitcoinUnits::availableUnits()) {
|
| 160 |
+
output.setValue("display-unit", QVariant::fromValue(unit));
|
| 161 |
+
output.sync();
|
| 162 |
+
QCOMPARE(output.status(), QSettings::NoError);
|
| 163 |
+
// A different filename forces a disk read rather than QSettings' cache.
|
| 164 |
+
const QString copy_path{settings_dir.filePath(QString::number(static_cast<int>(unit)) + ".ini")};
|
| 165 |
+
QVERIFY(QFile::copy(output.fileName(), copy_path));
|
| 166 |
+
QSettings input{copy_path, QSettings::IniFormat};
|
| 167 |
+
const QVariant restored{input.value("display-unit")};
|
| 168 |
+
QCOMPARE(restored.userType(), qMetaTypeId<BitcoinUnit>());
|
| 169 |
+
QCOMPARE(restored.value<BitcoinUnit>(), unit);
|
| 170 |
+
}
|
| 171 |
+
}
|