From ae123238b3232570e7196e85bed04a53fba55214 Mon Sep 17 00:00:00 2001 From: Lee Bousfield Date: Tue, 4 Mar 2025 11:15:44 -0600 Subject: [PATCH] memory: Add reinterpretPointerCast test --- tests/memory.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/memory.cpp b/tests/memory.cpp index 2c43303..118e8c8 100644 --- a/tests/memory.cpp +++ b/tests/memory.cpp @@ -11,7 +11,7 @@ using namespace Hyprutils::Memory; int main(int argc, char** argv, char** envp) { SP intPtr = makeShared(10); - SP intPtr2 = makeShared(1337); + SP intPtr2 = makeShared(-1337); UP intUnique = makeUnique(420); int ret = 0; @@ -52,5 +52,15 @@ int main(int argc, char** argv, char** envp) { EXPECT(weak.expired(), true); EXPECT(weakUnique.expired(), true); + auto intPtr2AsUint = reinterpretPointerCast(intPtr2); + EXPECT(intPtr2.strongRef(), 4); + EXPECT(intPtr2AsUint.strongRef(), 4); + + EXPECT(*intPtr2AsUint > 0, true); + EXPECT(*intPtr2AsUint, (unsigned int)(int)-1337); + *intPtr2AsUint = 10; + EXPECT(*intPtr2AsUint, 10); + EXPECT(*intPtr2, 10); + return ret; } \ No newline at end of file