Files
tai/taicpp/tests/cli_test.cpp
T
2026-10-24 06:41:22 +02:00

20 lines
1.1 KiB
C++

#include "../src/cli/cli.h"
#include <cassert>
#include <string>
int main() {
detz::cli::Parser p;
// golden --help contains every flag
std::string h = detz::cli::Parser::helpText();
for (auto f : {"--profile","--yes","--yolo","--auto","--continue","--debug","--debug-format","--env","--no-opencode","--update-models","--eval-retrieval","--stats-rag","--version","--cap-manifest","--cap-speak","--cap-cwd","--cap-model","--cap-permission-mode","--cap-max-turns","--cap ","--serve-mcp","--mcp-port","--mcp-bind","--telegram","--scheduler","--install","--install-telegram","--uninstall-telegram","--plexer-wrap","--mplex","--demo","--demo-shot","--tui","--tui-local","--theme"})
assert(h.find(f) != std::string::npos);
// parse smoke
const char* av[] = {"detz","--yes","--debug","--cap","resolve","foo"};
auto c = p.parse(6, (char**)av);
assert(c.opts.yes && c.opts.debug.value()=="file" && c.opts.cap && c.opts.cap->size()==2);
const char* bv[] = {"detz","--version"};
assert(p.parse(2,(char**)bv).run()==0);
const char* cv[] = {"detz"};
assert(p.parse(1,(char**)cv).name=="--help");
return 0;
}