1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
#import "PopplerRendererTest.h"
#import "TestSettings.h"
@implementation PopplerRendererTest
- (void) setUp
{
document = [[PopplerDocument alloc] initWithPath: kTestDocument];
[[NSFileManager defaultManager] createDirectoryAtPath: kTestRenderDirectory
attributes: nil];
}
- (void) tearDown
{
[document release];
}
- (void) testSplashRendererFullPage
{
PopplerSplashRenderer* renderer =
[[PopplerSplashRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSBitmapImageRep* imageRep = [renderer renderPage: page scale: 1.0];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"splash-page.tiff"]];
}
- (void) testSplashRenderSlice
{
PopplerSplashRenderer* renderer =
[[PopplerSplashRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSRect box;
box.origin = NSMakePoint(100, 100);
box.size.width = [page size].width - 100;
box.size.height = [page size].height - 100;
NSBitmapImageRep* imageRep = [renderer renderPage: page srcBox: box scale: 1.0];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"splash-slice.tiff"]];
}
- (void) testSplashRenderScaled
{
PopplerSplashRenderer* renderer =
[[PopplerSplashRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSBitmapImageRep* imageRep = [renderer renderPage: page scale: 0.5];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"splash-scaled.tiff"]];
}
- (void) testCairoImageRendererFullPage
{
[self assertTrue: [PopplerCairoImageRenderer isSupported]];
if (![PopplerCairoImageRenderer isSupported])
{
return;
}
PopplerCairoImageRenderer* renderer =
[[PopplerCairoImageRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSBitmapImageRep* imageRep = [renderer renderPage: page scale: 1.0];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"cairo-page.tiff"]];
}
- (void) testCairoImageRenderSlice
{
[self assertTrue: [PopplerCairoImageRenderer isSupported]];
if (![PopplerCairoImageRenderer isSupported])
{
return;
}
PopplerCairoImageRenderer* renderer =
[[PopplerCairoImageRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSRect box;
box.origin = NSMakePoint(100, 100);
box.size.width = [page size].width - 100;
box.size.height = [page size].height - 100;
NSBitmapImageRep* imageRep = [renderer renderPage: page srcBox: box scale: 1.0];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"cairo-slice.tiff"]];
}
- (void) testCairoImageRenderScaled
{
[self assertTrue: [PopplerCairoImageRenderer isSupported]];
if (![PopplerCairoImageRenderer isSupported])
{
return;
}
PopplerCairoImageRenderer* renderer =
[[PopplerCairoImageRenderer alloc] initWithDocument: document];
[renderer autorelease];
PopplerPage* page = [document page: 1];
NSBitmapImageRep* imageRep = [renderer renderPage: page scale: 0.5];
[self assertNotNil: imageRep];
[self assertInt: [imageRep retainCount] equals: 1];
[self assertTrue: [self saveAsTIFF: imageRep file: @"cairo-scaled.tiff"]];
}
- (BOOL) saveAsTIFF: (NSBitmapImageRep*)bitmap file: (NSString*)aFilename
{
NSData* tiffData = nil;
NS_DURING
tiffData = [bitmap TIFFRepresentation];
NS_HANDLER
return NO;
NS_ENDHANDLER
if (!tiffData || ([tiffData length] == 0))
{
return NO;
}
NSString* destFile = [kTestRenderDirectory stringByAppendingPathComponent: aFilename];
return ([tiffData writeToFile: destFile atomically: NO]);
}
@end
|