libs-gui/Tests/gui/NSImage/basic.m
rfm 08f6f9444f Regression test improvments
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@39755 72102866-910b-0410-8b05-ffd578937521
2016-05-13 15:41:27 +00:00

69 lines
1.5 KiB
Objective-C

#import "ObjectTesting.h"
#import <Foundation/NSArray.h>
#import <Foundation/NSAutoreleasePool.h>
#import <AppKit/NSApplication.h>
#import <AppKit/NSImage.h>
int main()
{
NSAutoreleasePool *arp = [NSAutoreleasePool new];
id testObject;
id testObject1;
id testObject2;
NSArray *testObjects;
START_SET("NSImage GNUstep basic")
NS_DURING
{
[NSApplication sharedApplication];
}
NS_HANDLER
{
if ([[localException name] isEqualToString: NSInternalInconsistencyException ])
SKIP("It looks like GNUstep backend is not yet installed")
}
NS_ENDHANDLER
test_alloc(@"NSImage");
testObject = [NSImage new];
testObject1 = [NSImage imageNamed: @"GNUstep"];
testObject2 = [[NSImage alloc] initWithData: nil];
testObjects = [NSArray arrayWithObjects: testObject, testObject1, testObject2, nil];
RELEASE(testObject);
test_NSObject(@"NSImage", testObjects);
test_NSCoding(testObjects);
test_keyed_NSCoding(testObjects);
test_NSCopying(@"NSImage",
@"NSImage",
testObjects, NO, NO);
END_SET("NSImage GNUstep basic")
[arp release];
return 0;
}
@implementation NSImage (Testing)
- (BOOL) isEqual: (id)anObject
{
if (self == anObject)
return YES;
if (![anObject isKindOfClass: [NSImage class]])
return NO;
if (![[anObject backgroundColor] isEqual: [self backgroundColor]])
return NO;
if ([anObject isFlipped] != [self isFlipped])
return NO;
if (!NSEqualSizes([anObject size], [self size]))
return NO;
// FIXME
return YES;
}
@end