fix(Cli): better test when passing uri as cli, and an argument is missing

This commit is contained in:
nicolas 2017-08-09 17:41:00 +02:00
parent bd0c9bdd43
commit 42e00a1817

View file

@ -123,7 +123,7 @@ void Cli::Command::execute (QHash<QString, QString> &args) const {
// Check missing arguments.
for (const auto &argName : mArgsScheme.keys()) {
if (!args.contains(argName) && !mArgsScheme[argName].isOptional) {
if (!mArgsScheme[argName].isOptional && (!args.contains(argName) || args[argName].isEmpty())) {
qWarning() << QStringLiteral("Missing argument for command: `%1 (%2)`.")
.arg(mFunctionName).arg(argName);
return;
@ -220,6 +220,7 @@ void Cli::executeCommand (const QString &command, CommandFormat *format) const {
return;
}
//TODO: check if there is any header when the `method` header is missing.
const QString functionName = ::Utils::coreStringToAppString(address->getHeader("method")).isEmpty()
? QStringLiteral("call")
: ::Utils::coreStringToAppString(address->getHeader("method"));