From 86885e5a63c10d264bac822cb054607c27c0f734 Mon Sep 17 00:00:00 2001 From: Andreas Stöckel Date: Thu, 15 Jan 2015 02:31:29 +0100 Subject: Fixed bug in Argument validation when missing values are inserted (string types got "null" as default value and not ""), added corresponding unit test --- src/core/common/Argument.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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("\"")); -- cgit v1.2.3