summaryrefslogtreecommitdiff
path: root/src/core/common
diff options
context:
space:
mode:
authorAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-15 02:31:29 +0100
committerAndreas Stöckel <astoecke@techfak.uni-bielefeld.de>2015-01-15 02:31:29 +0100
commit86885e5a63c10d264bac822cb054607c27c0f734 (patch)
tree85362383a4e0726b8c89475b939f1d0d44ec0dea /src/core/common
parent2a9541b06b4741f268929377946e720af1418ba0 (diff)
Fixed bug in Argument validation when missing values are inserted (string types got "null" as default value and not ""), added corresponding unit test
Diffstat (limited to 'src/core/common')
-rw-r--r--src/core/common/Argument.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/core/common/Argument.cpp b/src/core/common/Argument.cpp
index 6bf2917..a4c153d 100644
--- a/src/core/common/Argument.cpp
+++ b/src/core/common/Argument.cpp
@@ -247,6 +247,7 @@ bool Arguments::validateArray(Variant::arrayType &arr, Logger &logger) const
arr[a] = arguments[a].defaultValue;
} else {
// Call "validate" to inject a standard value
+ arr[a] = Variant::fromObject(nullptr);
arguments[a].validate(arr[a], nullLogger);
logger.error(std::string("Missing argument ") +
std::to_string(a + 1) + std::string(" \"") +
@@ -302,7 +303,7 @@ bool Arguments::validateMap(Variant::mapType &map, Logger &logger,
map[arguments[a].name] = arguments[a].defaultValue;
} else {
// Call "validate" to inject a standard value
- map[arguments[a].name] = Variant{};
+ map[arguments[a].name] = Variant::fromObject(nullptr);
arguments[a].validate(map[arguments[a].name], nullLogger);
logger.error(std::string("Missing argument \"") +
arguments[a].name + std::string("\""));