diff --git a/test/test_shared_ptr.cpp b/test/test_shared_ptr.cpp index 0cd624c4..e2fc790f 100644 --- a/test/test_shared_ptr.cpp +++ b/test/test_shared_ptr.cpp @@ -48,4 +48,16 @@ void test_main(lua_State* L) DOSTRING(L, "assert(x == filter(x))\n" ); + + boost::shared_ptr spx(new X(2)); + globals(L)["x2"] = spx; + TEST_CHECK(spx.use_count() == 2); + DOSTRING(L, "assert(get_value(x2) == 2)"); + DOSTRING(L, + "x = nil\n" + "x2 = nil\n" + "collectgarbage()\n" + "collectgarbage()\n" + ); + TEST_CHECK(spx.use_count() == 1); }