Skip to content
Bitcoin Roots

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