#include "../src/cli/cli.h" #include #include 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; }