tools: extend nfdc help to cover more cases
Change-Id: I0cd182c8635b15c8ffb750c913e14fa99e595d45
Refs: #4503
diff --git a/tests/tools/nfdc/command-parser.t.cpp b/tests/tools/nfdc/command-parser.t.cpp
index d55ccec..47aa815 100644
--- a/tests/tools/nfdc/command-parser.t.cpp
+++ b/tests/tools/nfdc/command-parser.t.cpp
@@ -64,7 +64,7 @@
defHelp
.addArg("noun", ArgValueType::STRING, Required::NO, Positional::YES)
.addArg("verb", ArgValueType::STRING, Required::NO, Positional::YES);
- parser.addCommand(defHelp, dummyExecute, AVAILABLE_IN_ONE_SHOT);
+ parser.addCommand(defHelp, dummyExecute, AVAILABLE_IN_ONE_SHOT | AVAILABLE_IN_HELP);
CommandDefinition defStatusShow("status", "show");
parser.addCommand(defStatusShow, dummyExecute);
@@ -83,7 +83,10 @@
parser.addCommand(defRouteAdd, dummyExecute);
parser.addAlias("route", "add", "add2");
- BOOST_CHECK_EQUAL(parser.listCommands("", ParseMode::ONE_SHOT).size(), 3);
+ CommandDefinition defHidden("hidden", "");
+ parser.addCommand(defHidden, dummyExecute, AVAILABLE_IN_BATCH);
+
+ BOOST_CHECK_EQUAL(parser.listCommands("", ParseMode::ONE_SHOT).size(), 4);
BOOST_CHECK_EQUAL(parser.listCommands("", ParseMode::BATCH).size(), 3);
BOOST_CHECK_EQUAL(parser.listCommands("route", ParseMode::ONE_SHOT).size(), 2);
BOOST_CHECK_EQUAL(parser.listCommands("unknown", ParseMode::ONE_SHOT).size(), 0);
@@ -100,14 +103,6 @@
BOOST_CHECK_EQUAL(noun, "help");
BOOST_CHECK_EQUAL(verb, "");
- std::tie(noun, verb, ca, execute) = parser.parse({"foo", "help"}, ParseMode::ONE_SHOT);
- BOOST_CHECK_EQUAL(noun, "help");
- BOOST_CHECK_EQUAL(verb, "");
-
- std::tie(noun, verb, ca, execute) = parser.parse({"foo", "bar", "-h"}, ParseMode::ONE_SHOT);
- BOOST_CHECK_EQUAL(noun, "help");
- BOOST_CHECK_EQUAL(verb, "");
-
std::tie(noun, verb, ca, execute) = parser.parse({"status"}, ParseMode::ONE_SHOT);
BOOST_CHECK_EQUAL(noun, "status");
BOOST_CHECK_EQUAL(verb, "show");
@@ -137,6 +132,8 @@
CommandParser::NoSuchCommandError);
BOOST_CHECK_THROW(parser.parse({"route", "add"}, ParseMode::ONE_SHOT),
CommandDefinition::Error);
+ BOOST_CHECK_THROW(parser.parse({"hidden"}, ParseMode::ONE_SHOT),
+ CommandParser::NoSuchCommandError);
}
BOOST_AUTO_TEST_SUITE_END() // TestCommandParser