From 240913298929b8f4a2f258212d4296b53279f029 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 18 Feb 2021 12:01:19 +0000 Subject: [PATCH] Add unit tests of strhash() on NULL/empty strings --- renderdoc/strings/string_utils.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/renderdoc/strings/string_utils.cpp b/renderdoc/strings/string_utils.cpp index 24b4825d9..94a3d648d 100644 --- a/renderdoc/strings/string_utils.cpp +++ b/renderdoc/strings/string_utils.cpp @@ -199,6 +199,24 @@ TEST_CASE("String hashing", "[string]") strhash("test of a long string for strhash")); }; + SECTION("hash of NULL or empty string returns the seed") + { + CHECK(strhash(NULL, 5) == 5); + CHECK(strhash(NULL, 50) == 50); + CHECK(strhash(NULL, 500) == 500); + CHECK(strhash(NULL, 5000) == 5000); + + CHECK(strhash("", 5) == 5); + CHECK(strhash("", 50) == 50); + CHECK(strhash("", 500) == 500); + CHECK(strhash("", 5000) == 5000); + + CHECK(strhash("0", 5) != 5); + CHECK(strhash("0", 50) != 50); + CHECK(strhash("0", 500) != 500); + CHECK(strhash("0", 5000) != 5000); + }; + SECTION("Different inputs have different hashes") { CHECK(strhash("foobar") != strhash("blah"));