|
2 | 2 | // Distributed under the MIT software license, see the accompanying
|
3 | 3 | // file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
4 | 4 |
|
| 5 | +#include <init.h> |
5 | 6 | #include <qt/bitcoin.h>
|
6 | 7 | #include <qt/test/optiontests.h>
|
7 | 8 | #include <test/util/setup_common.h>
|
@@ -29,3 +30,35 @@ void OptionTests::optionTests()
|
29 | 30 | });
|
30 | 31 | gArgs.WriteSettingsFile();
|
31 | 32 | }
|
| 33 | + |
| 34 | +void OptionTests::parametersInteraction() |
| 35 | +{ |
| 36 | + gArgs.ClearPathCache(); |
| 37 | + |
| 38 | + gArgs.LockSettings([&](util::Settings& s) { |
| 39 | + s.forced_settings.erase("listen"); |
| 40 | + s.forced_settings.erase("listenonion"); |
| 41 | + }); |
| 42 | + QVERIFY(!gArgs.IsArgSet("-listen")); |
| 43 | + QVERIFY(!gArgs.IsArgSet("-listenonion")); |
| 44 | + |
| 45 | + QSettings settings; |
| 46 | + settings.setValue("fListen", false); |
| 47 | + |
| 48 | + OptionsModel{}; |
| 49 | + |
| 50 | + const bool expected{false}; |
| 51 | + |
| 52 | + QVERIFY(gArgs.IsArgSet("-listen")); |
| 53 | + QCOMPARE(gArgs.GetBoolArg("-listen", !expected), expected); |
| 54 | + |
| 55 | + QVERIFY(gArgs.IsArgSet("-listenonion")); |
| 56 | + QCOMPARE(gArgs.GetBoolArg("-listenonion", !expected), expected); |
| 57 | + |
| 58 | + QVERIFY(AppInitParameterInteraction(gArgs)); |
| 59 | + |
| 60 | + // cleanup |
| 61 | + settings.remove("fListen"); |
| 62 | + QVERIFY(!settings.contains("fListen")); |
| 63 | + gArgs.ClearPathCache(); |
| 64 | +} |
0 commit comments