Skip to content

Commit 49a4321

Browse files
MarcoFalkePastaPastaPasta
MarcoFalke
authored andcommitted
Squashed 'src/univalue/' changes from 07947ff..51d3ab3
51d3ab3 Merge #10: Add pushKV(key, boolean) function (replaces #5) 129bad9 [tests] test pushKV for boolean values b3c44c9 Pushing boolean value to univalue correctly git-subtree-dir: src/univalue git-subtree-split: 51d3ab3
1 parent 4da1619 commit 49a4321

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

src/univalue/include/univalue.h

+4
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,10 @@ class UniValue {
129129
UniValue tmpVal(val_);
130130
return pushKV(key, tmpVal);
131131
}
132+
bool pushKV(const std::string& key, bool val_) {
133+
UniValue tmpVal((bool)val_);
134+
return pushKV(key, tmpVal);
135+
}
132136
bool pushKV(const std::string& key, int val_) {
133137
UniValue tmpVal((int64_t)val_);
134138
return pushKV(key, tmpVal);

src/univalue/test/object.cpp

+13-1
Original file line numberDiff line numberDiff line change
@@ -261,14 +261,20 @@ BOOST_AUTO_TEST_CASE(univalue_object)
261261
strKey = "temperature";
262262
BOOST_CHECK(obj.pushKV(strKey, (double) 90.012));
263263

264+
strKey = "moon";
265+
BOOST_CHECK(obj.pushKV(strKey, true));
266+
267+
strKey = "spoon";
268+
BOOST_CHECK(obj.pushKV(strKey, false));
269+
264270
UniValue obj2(UniValue::VOBJ);
265271
BOOST_CHECK(obj2.pushKV("cat1", 9000));
266272
BOOST_CHECK(obj2.pushKV("cat2", 12345));
267273

268274
BOOST_CHECK(obj.pushKVs(obj2));
269275

270276
BOOST_CHECK_EQUAL(obj.empty(), false);
271-
BOOST_CHECK_EQUAL(obj.size(), 9);
277+
BOOST_CHECK_EQUAL(obj.size(), 11);
272278

273279
BOOST_CHECK_EQUAL(obj["age"].getValStr(), "100");
274280
BOOST_CHECK_EQUAL(obj["first"].getValStr(), "John");
@@ -277,6 +283,8 @@ BOOST_AUTO_TEST_CASE(univalue_object)
277283
BOOST_CHECK_EQUAL(obj["time"].getValStr(), "3600");
278284
BOOST_CHECK_EQUAL(obj["calories"].getValStr(), "12");
279285
BOOST_CHECK_EQUAL(obj["temperature"].getValStr(), "90.012");
286+
BOOST_CHECK_EQUAL(obj["moon"].getValStr(), "1");
287+
BOOST_CHECK_EQUAL(obj["spoon"].getValStr(), "");
280288
BOOST_CHECK_EQUAL(obj["cat1"].getValStr(), "9000");
281289
BOOST_CHECK_EQUAL(obj["cat2"].getValStr(), "12345");
282290

@@ -289,6 +297,8 @@ BOOST_AUTO_TEST_CASE(univalue_object)
289297
BOOST_CHECK(obj.exists("time"));
290298
BOOST_CHECK(obj.exists("calories"));
291299
BOOST_CHECK(obj.exists("temperature"));
300+
BOOST_CHECK(obj.exists("moon"));
301+
BOOST_CHECK(obj.exists("spoon"));
292302
BOOST_CHECK(obj.exists("cat1"));
293303
BOOST_CHECK(obj.exists("cat2"));
294304

@@ -302,6 +312,8 @@ BOOST_AUTO_TEST_CASE(univalue_object)
302312
objTypes["time"] = UniValue::VNUM;
303313
objTypes["calories"] = UniValue::VNUM;
304314
objTypes["temperature"] = UniValue::VNUM;
315+
objTypes["moon"] = UniValue::VBOOL;
316+
objTypes["spoon"] = UniValue::VBOOL;
305317
objTypes["cat1"] = UniValue::VNUM;
306318
objTypes["cat2"] = UniValue::VNUM;
307319
BOOST_CHECK(obj.checkObject(objTypes));

0 commit comments

Comments
 (0)