/* * This source code is released into the public domain. */ #include #include import nihil; namespace { auto cmd_sub1_called = false; auto cmd_sub1 = nihil::command("cmd sub1", [](int, int, char **) -> int { cmd_sub1_called = true; return 0; }); } // anonymous namespace TEST_CASE("command_map: basic", "[command_map]") { auto args = std::vector{ "cmd", "sub1", nullptr }; auto argv = const_cast(args.data()); nihil::dispatch_command(0, args.size(), argv); REQUIRE(cmd_sub1_called == true); } TEST_CASE("command_map: unknown command", "[command_map]") { auto args = std::vector{ "cmd", "nonesuch", nullptr }; auto argv = const_cast(args.data()); REQUIRE_THROWS_AS(nihil::dispatch_command(0, args.size(), argv), nihil::usage_error); }