diff --git a/Test/CMakeLists.txt b/Test/CMakeLists.txt index 9e292a7..09e5902 100644 --- a/Test/CMakeLists.txt +++ b/Test/CMakeLists.txt @@ -37,6 +37,7 @@ set(TESTS ResurrectInDealloc_arc.m RuntimeTest.m WeakBlock_arc.m + WeakRefLoad.m WeakReferences_arc.m WeakImportClass.m ivar_arc.m diff --git a/Test/WeakRefLoad.m b/Test/WeakRefLoad.m new file mode 100644 index 0000000..c851638 --- /dev/null +++ b/Test/WeakRefLoad.m @@ -0,0 +1,22 @@ +#include "Test.h" + +#define SIZE 5000 + +int main(int argc, const char * argv[]) +{ + id t = [Test new]; + id w1; + id w2; + objc_initWeak(&w1, t); + objc_initWeak(&w2, t); + [t release]; + assert(objc_loadWeakRetained(&w1) == nil); + assert(objc_loadWeakRetained(&w2) == nil); + assert(w1 == nil); + assert(w2 == nil); + assert(objc_loadWeakRetained(&w1) == nil); + assert(objc_loadWeakRetained(&w2) == nil); + assert(w1 == nil); + assert(w2 == nil); + return 0; +}