From 9c8f390995ace83ebee758ba42fc7f77da2129e2 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sat, 3 Oct 2026 23:04:55 +1300 Subject: Selector test and tweak Introspection (yay it works!) --- tests/Introspection.m | 5 ++++- tests/Selector.m | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 tests/Selector.m (limited to 'tests') diff --git a/tests/Introspection.m b/tests/Introspection.m index 2bdc6f9..dd6a061 100644 --- a/tests/Introspection.m +++ b/tests/Introspection.m @@ -8,7 +8,7 @@ @implementation MyClass - (void)sayHello { - printf("Hello!"); + printf("Hello!\n"); } @end @@ -23,4 +23,7 @@ int main(void) { printf("isMemberOfClass:PXObject = %s\n", [instance isMemberOfClass:[PXObject class]] ? "YES" : "NO"); printf("isKindOfClass:MyClass = %s\n", [instance isKindOfClass:[MyClass class]] ? "YES" : "NO"); printf("isKindOfClass:PXObject = %s\n", [instance isKindOfClass:[PXObject class]] ? "YES" : "NO"); + + [instance release]; + printf("test complete\n"); } diff --git a/tests/Selector.m b/tests/Selector.m new file mode 100644 index 0000000..0cc33e4 --- /dev/null +++ b/tests/Selector.m @@ -0,0 +1,25 @@ +#include +#include + +@interface MyClass : PXObject +- (void)sayHello; +@end + +@implementation MyClass + +- (void)sayHello { + printf("Hello!\n"); +} + +@end + +int main(void) { + printf("Selector test\n"); + MyClass *instance = [MyClass new]; + + printf("respondsToSelector:sayHello = %s\n", [instance respondsToSelector:@selector(sayHello)] ? "YES" : "NO"); + printf("respondsToSelector:sayGoodbye = %s\n", [instance respondsToSelector:@selector(sayGoodbye)] ? "YES" : "NO"); + printf("respondsToSelector:retain = %s\n", [instance respondsToSelector:@selector(retain)] ? "YES" : "NO"); + + [instance release]; +} -- cgit v1.2.3