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
|
#import "PopplerPageTest.h"
#import "TestSettings.h"
#include <float.h>
@implementation PopplerPageTest
- (void) setUp
{
document = [[PopplerDocument alloc] initWithPath: kTestDocument];
}
- (void) tearDown
{
[document release];
}
- (void) testPageOrientation
{
PopplerPage* page = [document page: 1];
[self assertInt: [page orientation] equals: POPPLER_PAGE_ORIENTATION_PORTRAIT];
}
- (void) testPageSize
{
PopplerPage* page = [document page: 1];
NSSize size = [page size];
[self assertTrue: size.width > 0.0];
[self assertTrue: size.height > 0.0];
[self assertTrue: size.height > size.width];
}
- (void) testFindText
{
PopplerPage* page = [document page: 2];
NSArray* hits = [page findText: @"NEXTSTEP"];
[self assertTrue: [hits count] > 0];
// FIXME
// The following fails for an unkown reason. Find again
// in the same page returns only 1 hit (30 expected).
// In Vindaloo, there is no such problem so i guess it is
// related to the testing environment in some way.
//NSArray* hits2 = [page findText: @"NEXTSTEP"];
//[self assertTrue: [hits2 count] > 0];
//[self assertInt: [hits2 count] equals: [hits count]];
float lastY = FLT_MAX;
unsigned i;
for (i = 0; i < [hits count]; i++) {
PopplerTextHit* hit = [hits objectAtIndex: i];
[self assertTrue: NSMinX([hit hitArea]) >= 0];
[self assertTrue: NSMinY([hit hitArea]) >= 0];
[self assertTrue: NSWidth([hit hitArea]) >= 0];
[self assertTrue: NSHeight([hit hitArea]) >= 0];
[self assertTrue: NSMinX([hit hitArea]) < NSMaxX([hit hitArea])];
[self assertTrue: NSMinY([hit hitArea]) < NSMaxY([hit hitArea])];
[self assertTrue: NSMinY([hit hitArea]) <= lastY];
lastY = NSMinY([hit hitArea]);
}
}
@end
|