Add missing properties and don’t make a runtime-specific test conditional on OS.

main
David Chisnall 10 years ago
parent 81ef7a9816
commit 8c35e72655

@ -404,25 +404,24 @@ static void testAddPropertyForClass(Class testClass)
ATTR("R", ""), ATTR("R", ""),
ATTR("V", "backingIvar")))); ATTR("V", "backingIvar"))));
// The only concession to MacOS X is that we reorder the attributes string // The only concession to MacOS X is that we reorder the attributes string
#if __APPLE__ if (!testPropertyForProperty_alt(class_getProperty(testClass, "addProperty5"),
testPropertyForProperty(class_getProperty(testClass, "addProperty5"),
"addProperty5", "T@,D,W,C,&,R,VbackingIvar", ATTRS(ATTR("T", "@"), "addProperty5", "T@,D,W,C,&,R,VbackingIvar", ATTRS(ATTR("T", "@"),
ATTR("R", ""),
ATTR("&", ""),
ATTR("C", ""),
ATTR("W", ""),
ATTR("D", ""), ATTR("D", ""),
ATTR("V", "backingIvar")));
#else
testPropertyForProperty(class_getProperty(testClass, "addProperty5"),
"addProperty5", "T@,R,&,C,W,D,VbackingIvar", ATTRS(ATTR("T", "@"),
ATTR("R", ""),
ATTR("&", ""),
ATTR("C", ""),
ATTR("W", ""), ATTR("W", ""),
ATTR("D", ""), ATTR("C", ""),
ATTR("V", "backingIvar"))); ATTR("&", ""),
#endif ATTR("R", ""),
ATTR("V", "backingIvar")), NO))
{
testPropertyForProperty(class_getProperty(testClass, "addProperty5"),
"addProperty5", "T@,R,&,C,W,D,VbackingIvar", ATTRS(ATTR("T", "@"),
ATTR("R", ""),
ATTR("&", ""),
ATTR("C", ""),
ATTR("W", ""),
ATTR("D", ""),
ATTR("V", "backingIvar")));
}
assert(class_addProperty(testClass, "replaceProperty", ATTRS(ATTR("T", "@")))); assert(class_addProperty(testClass, "replaceProperty", ATTRS(ATTR("T", "@"))));
testPropertyForProperty(class_getProperty(testClass, "replaceProperty"), testPropertyForProperty(class_getProperty(testClass, "replaceProperty"),
@ -546,11 +545,13 @@ int main(void)
ATTR("N", ""), ATTR("N", ""),
ATTR("V", "intNonatomic"))); ATTR("V", "intNonatomic")));
testProperty("idReadonlyCopyNonatomic", "T@,R,C,N,VidReadonlyCopyNonatomic", ATTRS(ATTR("T", "@"), testProperty("idReadonlyCopyNonatomic", "T@,R,C,N,VidReadonlyCopyNonatomic", ATTRS(ATTR("T", "@"),
ATTR("C", ""),
ATTR("R", ""), ATTR("R", ""),
ATTR("N", ""), ATTR("N", ""),
ATTR("V", "idReadonlyCopyNonatomic"))); ATTR("V", "idReadonlyCopyNonatomic")));
testProperty("idReadonlyRetainNonatomic", "T@,R,&,N,VidReadonlyRetainNonatomic", ATTRS(ATTR("T", "@"), testProperty("idReadonlyRetainNonatomic", "T@,R,&,N,VidReadonlyRetainNonatomic", ATTRS(ATTR("T", "@"),
ATTR("R", ""), ATTR("R", ""),
ATTR("&", ""),
ATTR("N", ""), ATTR("N", ""),
ATTR("V", "idReadonlyRetainNonatomic"))); ATTR("V", "idReadonlyRetainNonatomic")));
/** /**
@ -562,8 +563,9 @@ int main(void)
ATTR("N", ""), ATTR("N", ""),
ATTR("V", "idReadonlyWeakNonatomic")), NO)) ATTR("V", "idReadonlyWeakNonatomic")), NO))
{ {
testProperty("idReadonlyWeakNonatomic", "T@,R,N,VidReadonlyWeakNonatomic", ATTRS(ATTR("T", "@"), testProperty("idReadonlyWeakNonatomic", "T@,R,W,N,VidReadonlyWeakNonatomic", ATTRS(ATTR("T", "@"),
ATTR("R", ""), ATTR("R", ""),
ATTR("W", ""),
ATTR("N", ""), ATTR("N", ""),
ATTR("V", "idReadonlyWeakNonatomic"))); ATTR("V", "idReadonlyWeakNonatomic")));
} }
@ -622,15 +624,18 @@ int main(void)
ATTR("N", ""))); ATTR("N", "")));
testPropertyForProtocol(testProto, "idReadonlyCopyNonatomic", "T@,R,C,N", ATTRS(ATTR("T", "@"), testPropertyForProtocol(testProto, "idReadonlyCopyNonatomic", "T@,R,C,N", ATTRS(ATTR("T", "@"),
ATTR("R", ""), ATTR("R", ""),
ATTR("C", ""),
ATTR("N", ""))); ATTR("N", "")));
testPropertyForProtocol(testProto, "idReadonlyRetainNonatomic", "T@,R,&,N", ATTRS(ATTR("T", "@"), testPropertyForProtocol(testProto, "idReadonlyRetainNonatomic", "T@,R,&,N", ATTRS(ATTR("T", "@"),
ATTR("R", ""), ATTR("R", ""),
ATTR("&", ""),
ATTR("N", ""))); ATTR("N", "")));
/* /*
* Again, different clang versions emit slightly different property declarations. * Again, different clang versions emit slightly different property declarations.
*/ */
if (!testPropertyForProtocol_alt(testProto, "idReadonlyWeakNonatomic", "T@,R,W,N", ATTRS(ATTR("T", "@"), if (!testPropertyForProtocol_alt(testProto, "idReadonlyWeakNonatomic", "T@,R,W,N", ATTRS(ATTR("T", "@"),
ATTR("R", ""), ATTR("R", ""),
ATTR("W", ""),
ATTR("N", "")), NO)) ATTR("N", "")), NO))
{ {

Loading…
Cancel
Save