From 0de327d44282775825258b4f7bc0e0bae90dd87b Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Wed, 25 Feb 2026 08:17:18 -0500 Subject: [PATCH] Test self assignment --- tests.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tests.cpp b/tests.cpp index 1ca8d0c..a1d4df9 100644 --- a/tests.cpp +++ b/tests.cpp @@ -167,6 +167,17 @@ void test_copy_assignment_decrements_previous_reference() assert(mybase_destruct == destructed_before + 2); } +void test_self_assignment() +{ + int destructed_before = mybase_destruct; + MyB a = MyB::create(1, 2); + a = a; + assert(a); + assert(a->x == 1); + assert(a.use_count() == 1); + assert(mybase_destruct == destructed_before); +} + void test_move_constructor() { int constructed_before = mybase_construct; @@ -415,6 +426,7 @@ int main(int argc, char * argv[]) test_multi_construct_from_raw_pointers(); test_listener_self_registration(); test_copy_assignment_decrements_previous_reference(); + test_self_assignment(); test_cross_type_comparison(); test_reset(); test_move_constructor();