aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcoFalke <falke.marco@gmail.com>2020-11-19 15:47:07 +0100
committerMarcoFalke <falke.marco@gmail.com>2020-11-19 15:47:07 +0100
commit2a55a0ed3055a2ce0a33b58a3a7bbf6e30df3dfd (patch)
treeaa2a67bf0746bdc2c61f36e6c27e72775ad8dfb9
parent97aa5740c0e9ef433cbedafe689b641297b50f5e (diff)
downloadbitcoin-2a55a0ed3055a2ce0a33b58a3a7bbf6e30df3dfd.tar.xz
Squashed 'src/univalue/' changes from 98261b1e7b..98fadc0909
98fadc0909 Merge #24: Push bool into array correctly 5f03f1f39a Push bool into array correctly git-subtree-dir: src/univalue git-subtree-split: 98fadc090984fa7e070b6c41ccb514f69a371c85
-rw-r--r--include/univalue.h6
-rw-r--r--test/object.cpp14
2 files changed, 18 insertions, 2 deletions
diff --git a/include/univalue.h b/include/univalue.h
index 6080516353..048e162f7d 100644
--- a/include/univalue.h
+++ b/include/univalue.h
@@ -100,6 +100,10 @@ public:
UniValue tmpVal(val_);
return push_back(tmpVal);
}
+ bool push_back(bool val_) {
+ UniValue tmpVal(val_);
+ return push_back(tmpVal);
+ }
bool push_back(int val_) {
UniValue tmpVal(val_);
return push_back(tmpVal);
@@ -129,7 +133,7 @@ public:
return pushKV(key, tmpVal);
}
bool pushKV(const std::string& key, bool val_) {
- UniValue tmpVal((bool)val_);
+ UniValue tmpVal(val_);
return pushKV(key, tmpVal);
}
bool pushKV(const std::string& key, int val_) {
diff --git a/test/object.cpp b/test/object.cpp
index 70ccc0d08a..ccc1344836 100644
--- a/test/object.cpp
+++ b/test/object.cpp
@@ -210,19 +210,31 @@ BOOST_AUTO_TEST_CASE(univalue_array)
BOOST_CHECK(arr.push_back((int64_t) -400LL));
BOOST_CHECK(arr.push_back((int) -401));
BOOST_CHECK(arr.push_back(-40.1));
+ BOOST_CHECK(arr.push_back(true));
BOOST_CHECK_EQUAL(arr.empty(), false);
- BOOST_CHECK_EQUAL(arr.size(), 9);
+ BOOST_CHECK_EQUAL(arr.size(), 10);
BOOST_CHECK_EQUAL(arr[0].getValStr(), "1023");
+ BOOST_CHECK_EQUAL(arr[0].getType(), UniValue::VNUM);
BOOST_CHECK_EQUAL(arr[1].getValStr(), "zippy");
+ BOOST_CHECK_EQUAL(arr[1].getType(), UniValue::VSTR);
BOOST_CHECK_EQUAL(arr[2].getValStr(), "pippy");
+ BOOST_CHECK_EQUAL(arr[2].getType(), UniValue::VSTR);
BOOST_CHECK_EQUAL(arr[3].getValStr(), "boing");
+ BOOST_CHECK_EQUAL(arr[3].getType(), UniValue::VSTR);
BOOST_CHECK_EQUAL(arr[4].getValStr(), "going");
+ BOOST_CHECK_EQUAL(arr[4].getType(), UniValue::VSTR);
BOOST_CHECK_EQUAL(arr[5].getValStr(), "400");
+ BOOST_CHECK_EQUAL(arr[5].getType(), UniValue::VNUM);
BOOST_CHECK_EQUAL(arr[6].getValStr(), "-400");
+ BOOST_CHECK_EQUAL(arr[6].getType(), UniValue::VNUM);
BOOST_CHECK_EQUAL(arr[7].getValStr(), "-401");
+ BOOST_CHECK_EQUAL(arr[7].getType(), UniValue::VNUM);
BOOST_CHECK_EQUAL(arr[8].getValStr(), "-40.1");
+ BOOST_CHECK_EQUAL(arr[8].getType(), UniValue::VNUM);
+ BOOST_CHECK_EQUAL(arr[9].getValStr(), "1");
+ BOOST_CHECK_EQUAL(arr[9].getType(), UniValue::VBOOL);
BOOST_CHECK_EQUAL(arr[999].getValStr(), "");