aboutsummaryrefslogtreecommitdiff
path: root/src/zen-test/suggestion-tests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zen-test/suggestion-tests.cpp')
-rw-r--r--src/zen-test/suggestion-tests.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/zen-test/suggestion-tests.cpp b/src/zen-test/suggestion-tests.cpp
new file mode 100644
index 000000000..8607c7bd5
--- /dev/null
+++ b/src/zen-test/suggestion-tests.cpp
@@ -0,0 +1,32 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#include <zencore/zencore.h>
+
+#if ZEN_WITH_TESTS
+
+# include "zen-test.h"
+
+# include <zencore/testing.h>
+
+namespace zen::tests {
+
+TEST_SUITE_BEGIN("zen.suggestion");
+
+// Unit tests for the suggestion algorithm live in zenutil (util.suggest). This
+// integration test exists solely to verify the CLI wires the suggestion output
+// into the "Unknown command" handler.
+TEST_CASE("unknown_top_level_command_suggests_close_match")
+{
+ const ZenCommandResult Result = RunZen("stauts");
+
+ CHECK(Result.ExitCode != 0);
+ CHECK(Result.Output.find("Unknown command") != std::string::npos);
+ CHECK_MESSAGE(Result.Output.find("status") != std::string::npos,
+ fmt::format("expected 'status' suggestion in output, got:\n{}", Result.Output));
+}
+
+TEST_SUITE_END();
+
+} // namespace zen::tests
+
+#endif