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. The two line-number columns refer to before and after.
src/qt/test/optiontests.cpp
CHANGED
|
@@ -7,11 +7,14 @@
|
|
|
7
7
|
#include <common/args.h>
|
|
8
8
|
#include <init.h>
|
|
9
9
|
#include <qt/bitcoin.h>
|
|
10
|
+
#include <qt/bitcoinunits.h>
|
|
10
11
|
#include <qt/guiutil.h>
|
|
11
12
|
#include <qt/test/optiontests.h>
|
|
12
13
|
#include <test/util/setup_common.h>
|
|
13
14
|
|
|
15
|
+
#include <QFile>
|
|
14
16
|
#include <QSettings>
|
|
17
|
+
#include <QTemporaryDir>
|
|
15
18
|
#include <QTest>
|
|
16
19
|
|
|
17
20
|
#include <univalue.h>
|
|
@@ -146,3 +149,23 @@ void OptionTests::extractFilter()
|
|
|
146
149
|
filter = QString("Image (*.png *.jpg)");
|
|
147
150
|
QCOMPARE(GUIUtil::ExtractFirstSuffixFromFilter(filter), "png");
|
|
148
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
|
+
}
|