Skip to content

Commit 4c2ee5c

Browse files
committed
Merge #20424: build: Update univalue subtree
2a55a0e Squashed 'src/univalue/' changes from 98261b1e7b..98fadc0909 (MarcoFalke) Pull request description: Just a minor bugfix: Currently we don't push booleans into arrays, but if we did they'd be pushed as integers. Can be tested by reverting the diff in `include/` and observing a test failure. ACKs for top commit: laanwj: ACK fa17eef practicalswift: cr ACK fa17eef Tree-SHA512: d87ca5be6769b4cd0c9b9e319973bc0c4f2b7121779f9554e11f34a4edb0013997e875c7edb7bc6eb9309ff5c13379d22f436cd4fb9e6e68df6f0aee29fed914
2 parents 0946638 + fa17eef commit 4c2ee5c

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/univalue/include/univalue.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,10 @@ class UniValue {
100100
UniValue tmpVal(val_);
101101
return push_back(tmpVal);
102102
}
103+
bool push_back(bool val_) {
104+
UniValue tmpVal(val_);
105+
return push_back(tmpVal);
106+
}
103107
bool push_back(int val_) {
104108
UniValue tmpVal(val_);
105109
return push_back(tmpVal);
@@ -129,7 +133,7 @@ class UniValue {
129133
return pushKV(key, tmpVal);
130134
}
131135
bool pushKV(const std::string& key, bool val_) {
132-
UniValue tmpVal((bool)val_);
136+
UniValue tmpVal(val_);
133137
return pushKV(key, tmpVal);
134138
}
135139
bool pushKV(const std::string& key, int val_) {

src/univalue/test/object.cpp

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,19 +210,31 @@ BOOST_AUTO_TEST_CASE(univalue_array)
210210
BOOST_CHECK(arr.push_back((int64_t) -400LL));
211211
BOOST_CHECK(arr.push_back((int) -401));
212212
BOOST_CHECK(arr.push_back(-40.1));
213+
BOOST_CHECK(arr.push_back(true));
213214

214215
BOOST_CHECK_EQUAL(arr.empty(), false);
215-
BOOST_CHECK_EQUAL(arr.size(), 9);
216+
BOOST_CHECK_EQUAL(arr.size(), 10);
216217

217218
BOOST_CHECK_EQUAL(arr[0].getValStr(), "1023");
219+
BOOST_CHECK_EQUAL(arr[0].getType(), UniValue::VNUM);
218220
BOOST_CHECK_EQUAL(arr[1].getValStr(), "zippy");
221+
BOOST_CHECK_EQUAL(arr[1].getType(), UniValue::VSTR);
219222
BOOST_CHECK_EQUAL(arr[2].getValStr(), "pippy");
223+
BOOST_CHECK_EQUAL(arr[2].getType(), UniValue::VSTR);
220224
BOOST_CHECK_EQUAL(arr[3].getValStr(), "boing");
225+
BOOST_CHECK_EQUAL(arr[3].getType(), UniValue::VSTR);
221226
BOOST_CHECK_EQUAL(arr[4].getValStr(), "going");
227+
BOOST_CHECK_EQUAL(arr[4].getType(), UniValue::VSTR);
222228
BOOST_CHECK_EQUAL(arr[5].getValStr(), "400");
229+
BOOST_CHECK_EQUAL(arr[5].getType(), UniValue::VNUM);
223230
BOOST_CHECK_EQUAL(arr[6].getValStr(), "-400");
231+
BOOST_CHECK_EQUAL(arr[6].getType(), UniValue::VNUM);
224232
BOOST_CHECK_EQUAL(arr[7].getValStr(), "-401");
233+
BOOST_CHECK_EQUAL(arr[7].getType(), UniValue::VNUM);
225234
BOOST_CHECK_EQUAL(arr[8].getValStr(), "-40.1");
235+
BOOST_CHECK_EQUAL(arr[8].getType(), UniValue::VNUM);
236+
BOOST_CHECK_EQUAL(arr[9].getValStr(), "1");
237+
BOOST_CHECK_EQUAL(arr[9].getType(), UniValue::VBOOL);
226238

227239
BOOST_CHECK_EQUAL(arr[999].getValStr(), "");
228240

0 commit comments

Comments
 (0)