TEST(Value, AnyObject) { { // GenericObject uses intrusive refcount and must be valid // Also object does some typechecking qi::DynamicObjectBuilder dynBuild; qi::AnyObject ori = dynBuild.object(¬hing); qi::GenericObject& go = *ori.asGenericObject(); AnyReference v = AnyReference::from(ori); qi::detail::ManagedObjectPtr mo = v.to<qi::detail::ManagedObjectPtr>(); ASSERT_TRUE(!!mo); ASSERT_EQ(mo.get(), &go); qi::AnyObject out = v.to<AnyObject>(); ASSERT_TRUE(out); ASSERT_TRUE(out == ori); out = v.toObject(); ASSERT_TRUE(out); ASSERT_EQ(out.asGenericObject(), mo.get()); } ASSERT_TRUE(triggered); }