From b7f943f6c5e6461cd1e93b133b0badb2747401eb Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Fri, 23 Oct 2026 10:12:35 +0100 Subject: [PATCH] Use caseless string comparison for Demos test name matching --- util/test/demos/main.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/util/test/demos/main.cpp b/util/test/demos/main.cpp index 7d9ecc8af..45963385f 100644 --- a/util/test/demos/main.cpp +++ b/util/test/demos/main.cpp @@ -40,6 +40,12 @@ #define NK_ASSERT(expr) TEST_ASSERT(expr, "nuklear assertion failed") #include "3rdparty/nuklear/nuklear.h" +static void ToLower(std::string &str) +{ + for(char &c : str) + c = tolower(c); +} + #if defined(WIN32) #define NK_GDI_IMPLEMENTATION @@ -480,9 +486,13 @@ Usage: %s Test_Name [test_options] bool validTestArg = false; if(argc >= 2) { + std::string match(argv[1]); + ToLower(match); for(const TestMetadata &test : tests) { - if(!strcmp(test.Name, argv[1])) + std::string name(test.Name); + ToLower(name); + if(name == match) { validTestArg = true; break; @@ -673,9 +683,12 @@ Usage: %s Test_Name [test_options] SetUnhandledExceptionFilter(&exceptionHandler); #endif + ToLower(testchoice); for(const TestMetadata &test : tests) { - if(testchoice == test.Name) + std::string name(test.Name); + ToLower(name); + if(testchoice == name) { TEST_LOG("Running '%s'", test.Name); test.test->Prepare(argc, argv);